Index: perl/modules/Facebook/lib/BarnOwl/Module/Facebook/Handle.pm
===================================================================
--- perl/modules/Facebook/lib/BarnOwl/Module/Facebook/Handle.pm	(revision 7777ac2e60b2881335b640f14a3829dedb83826c)
+++ perl/modules/Facebook/lib/BarnOwl/Module/Facebook/Handle.pm	(revision 5ef98c73fee87b6d821193e42f2ebe1c50c56bf0)
@@ -377,5 +377,9 @@
     my $msg = shift;
 
-    my $cont = sub { $self->sleep(0); };
+    my $cont = sub {
+        eval { shift->as_hashref };
+        return unless $self->check_result;
+        $self->sleep(0);
+    };
 
     if (defined $user) {
@@ -385,4 +389,5 @@
         $self->{facebook}->add_post->set_message($msg)->publish($cont);
     }
+    # XXX MESSAGE PLZ
 }
 
@@ -393,5 +398,10 @@
     my $msg = shift;
 
-    $self->{facebook}->add_comment($post_id)->set_message($msg)->publish(sub { $self->sleep(0); });
+    $self->{facebook}->add_comment($post_id)->set_message($msg)->publish(sub {
+        eval { shift->as_hashref };
+        return unless $self->check_result;
+        $self->sleep(0);
+    });
+    # XXX MESSAGE PLZ
 }
 
@@ -438,5 +448,6 @@
     $self->{facebook}->access_token($self->{cfg}->{token});
     # Do a quick check to see if things are working
-    $self->{facebook}->query()->find('me')->select_fields('name')->request(sub {
+    #$self->{facebook}->query()->find('me')->select_fields('name')->request(sub {
+    $self->{facebook}->add_post->set_message("Logged in to BarnOwl at " . localtime time)->set_privacy('CUSTOM', {friends => 'SELF'})->publish(sub {
         my $result = eval { shift->as_hashref };
         if ($@) {
@@ -445,9 +456,10 @@
                 . "\nand run command ':facebook-auth URL' with the URL you are redirected to.");
         } else {
-            my $name = $result->{'name'};
-            BarnOwl::admin_message('Facebook', "Successfully logged in to Facebook as $name!");
-            $self->{logged_in} = 1;
-            $self->sleep(0); # start polling
-            $success->();
+            $self->{facebook}->delete($result->{id}, sub {
+                BarnOwl::admin_message('Facebook', "Successfully logged in to Facebook.");
+                $self->{logged_in} = 1;
+                $self->sleep(0); # start polling
+                $success->();
+            });
         }
     });
Index: perl/modules/Facebook/lib/Facebook/Graph.pm
===================================================================
--- perl/modules/Facebook/lib/Facebook/Graph.pm	(revision 7777ac2e60b2881335b640f14a3829dedb83826c)
+++ perl/modules/Facebook/lib/Facebook/Graph.pm	(revision 5ef98c73fee87b6d821193e42f2ebe1c50c56bf0)
@@ -7,4 +7,5 @@
 use MIME::Base64::URLSafe;
 use JSON;
+with 'Facebook::Graph::Role::Uri';
 use Facebook::Graph::AccessToken;
 use Facebook::Graph::Authorize;
@@ -21,4 +22,6 @@
 use Facebook::Graph::Publish::RSVPAttending;
 use Facebook::Graph::Publish::RSVPDeclined;
+use URI::Encode qw(uri_decode);
+use AnyEvent::HTTP;
 use Ouch;
 
@@ -113,4 +116,28 @@
 }
 
+sub delete {
+    my ($self, $id, $cb) = @_;
+    my %query;
+    if ($self->has_access_token) {
+        $query{access_token} = uri_decode($self->access_token);
+    }
+    my $uri = $self->uri;
+    $uri->path($id);
+    $uri->query_form(%query);
+    http_request(DELETE => $uri->as_string, sub {
+        my ($response, $headers) = @_;
+        my %params = (
+            response => $response,
+            headers => $headers,
+            uri => $uri
+        );
+        if ($self->has_secret) {
+            $params{secret} = $self->secret;
+        }
+        $cb->(Facebook::Graph::Response->new(%params));
+    });
+    () # return nothing
+}
+
 sub picture {
     my ($self, $object_name) = @_;
Index: perl/modules/Facebook/lib/Facebook/Graph/Publish.pm
===================================================================
--- perl/modules/Facebook/lib/Facebook/Graph/Publish.pm	(revision b7fa91291bdf74a236349f8e77ba56f378561c46)
+++ perl/modules/Facebook/lib/Facebook/Graph/Publish.pm	(revision 5ef98c73fee87b6d821193e42f2ebe1c50c56bf0)
@@ -10,5 +10,5 @@
 use LWP::UserAgent; # XXX blegh
 use HTTP::Request::Common;
-use URI::Encode qw(uri_decode);
+use URI::Encode qw(uri_decode uri_encode);
 
 has secret => (
@@ -47,8 +47,7 @@
     my $uri = $self->uri;
     $uri->path($self->object_name.$self->object_path);
-    # XXX blegh
-    my $request = LWP::UserAgent->new->request(POST $uri->as_string, $self->get_post_params);
+    my $request = POST($uri->as_string,$self->get_post_params);
+    # XXX Do this more elegantly
     http_post $uri->as_string, $request->content, sub {
-        warn "whooo";
         my ($response, $headers) = @_;
         my %params = (
