Index: lib/BarnOwl/Module/Twitter.pm
===================================================================
--- lib/BarnOwl/Module/Twitter.pm	(revision 1c451370917ec72398ecad1999a83c76b7ae2a7b)
+++ lib/BarnOwl/Module/Twitter.pm	(revision efcd223c7d69c13515987202899727575641cd59)
@@ -18,4 +18,5 @@
 use Net::Twitter;
 use JSON;
+use List::Util qw(first);
 
 use BarnOwl;
@@ -123,5 +124,9 @@
     }
     push @twitter_handles, $twitter_handle;
-    $default_handle = $twitter_handle if (!defined $twitter_handle && exists $cfg->{default_sender} && $cfg->{default_sender});
+}
+
+$default_handle = first {$_->{cfg}->{default_sender}} @twitter_handles;
+if (!$default_handle && @twitter_handles) {
+    $default_handle = $twitter_handles[0];
 }
 
@@ -141,5 +146,5 @@
        && $m->auth eq 'YES') {
         for my $handle (@twitter_handles) {
-            $handle->twitter($m->body) if (!exists $handle->{cfg}->{publish_tweets} || $handle->{cfg}->{publish_tweets});
+            $handle->twitter($m->body) if $handle->{cfg}->{publish_tweets};
         }
     }
@@ -152,6 +157,16 @@
     $next_service_to_poll = ($next_service_to_poll + 1) % scalar(@twitter_handles);
     
-    $handle->poll_twitter() if (!exists $handle->{cfg}->{poll_for_tweets} || $handle->{cfg}->{poll_for_tweets});
-    $handle->poll_direct() if (!exists $handle->{cfg}->{poll_for_dms} || $handle->{cfg}->{poll_for_dms});
+    $handle->poll_twitter() if $handle->{cfg}->{poll_for_tweets};
+    $handle->poll_direct() if $handle->{cfg}->{poll_for_dms};
+}
+
+sub find_account {
+    my $name = shift;
+    my $handle = first {$_->{cfg}->{account_nickname} eq $name} @twitter_handles;
+    if ($handle) {
+        return $handle;
+    } else {
+        die("No such Twitter account: $name\n");
+    }
 }
 
@@ -161,17 +176,11 @@
     my $sent = 0;
     if (defined $account) {
-        for my $handle (@twitter_handles) {
-            if (defined $handle->{cfg}->{account_nickname} && $account eq $handle->{cfg}->{account_nickname}) {
-                $handle->twitter(@_);
-                $sent = 1;
-                last;
-            }
-        }
-        BarnOwl::message("No Twitter account named " . $account) unless $sent == 1
+        my $handle = find_account($account);
+        $handle->twitter(@_);
     } 
     else {
         # broadcast
         for my $handle (@twitter_handles) {
-            $handle->twitter(@_) if (!exists $handle->{cfg}->{publish_tweets} || $handle->{cfg}->{publish_tweets});
+            $handle->twitter(@_) if $handle->{cfg}->{publish_tweets};
         }
     }
@@ -183,14 +192,7 @@
     my $sent = 0;
     if (defined $account) {
-        for my $handle (@twitter_handles) {
-            if (defined $handle->{cfg}->{account_nickname} && $account eq $handle->{cfg}->{account_nickname}) {
-                $handle->twitter_direct(@_);
-                $sent = 1;
-                last;
-            }
-        }
-        BarnOwl::message("No Twitter account named " . $account) unless $sent == 1
-    }
-    elsif (defined $default_handle) {
+        my $handle = find_account($account);
+        $handle->twitter_direct(@_);
+    } elsif (defined $default_handle) {
         $default_handle->twitter_direct(@_);
     }
@@ -205,12 +207,6 @@
     my $sent = 0;
     if (defined $account) {
-        for my $handle (@twitter_handles) {
-            if (defined $handle->{cfg}->{account_nickname} && $account eq $handle->{cfg}->{account_nickname}) {
-                $handle->twitter_atreply(@_);
-                $sent = 1;
-                last;
-            }
-        }
-        BarnOwl::message("No Twitter account named " . $account) unless $sent == 1
+        my $handle = find_account($account);
+        $handle->twitter_atreply(@_);
     }
     elsif (defined $default_handle) {
Index: lib/BarnOwl/Module/Twitter/Handle.pm
===================================================================
--- lib/BarnOwl/Module/Twitter/Handle.pm	(revision 82fd1e61c0a30edc07cfbc6b143ab6f1d7bfbf98)
+++ lib/BarnOwl/Module/Twitter/Handle.pm	(revision efcd223c7d69c13515987202899727575641cd59)
@@ -34,10 +34,17 @@
 
 sub new {
-
     my $class = shift;
     my $cfg = shift;
 
+    $cfg = {
+        account_nickname => '',
+        default_sender   => 0,
+        poll_for_tweets  => 1,
+        poll_for_dms     => 1,
+        publish_tweets   => 1,
+        %$cfg
+       };
+
     my $self = {
-        'user' => undef,
         'cfg'  => $cfg,
         'twitter' => undef,
