diff --git a/lib/bond.rb b/lib/bond.rb
index <HASH>..<HASH> 100644
--- a/lib/bond.rb
+++ b/lib/bond.rb
@@ -13,16 +13,23 @@ module Bond
 
   def complete(options={}, &block)
     agent.complete(options, &block)
+    true
   rescue InvalidMissionError
     $stderr.puts "Invalid mission given. Mission needs an action and a condition."
+    false
   rescue
     $stderr.puts "Mission setup failed with:", $!
+    false
   end
 
   def agent
     @agent ||= Agent.new(config)
   end
 
+  def reset
+    @agent = nil
+  end
+
   # Options:
   # [:readline_plugin]
   # [:default_mission]
diff --git a/test/bond_test.rb b/test/bond_test.rb
index <HASH>..<HASH> 100644
--- a/test/bond_test.rb
+++ b/test/bond_test.rb
@@ -21,4 +21,11 @@ class BondTest < Test::Unit::TestCase
       Bond.agent.default_mission.action.should == default_mission
     end
   end
+
+  test "reset clears existing missions" do
+    Bond.complete(:on=>/blah/) {[]}
+    Bond.agent.missions.size.should_not == 0
+    Bond.reset
+    Bond.agent.missions.size.should == 0
+  end
 end
\ No newline at end of file
added Bond.reset and boolean responses to complete