           browser.wait @callback
         "should uncheck checkbox": (browser)-> assert.ok !browser.querySelector("#field-green").checked
         "should fire change event": (browser)-> assert.ok browser.greenChanged
+      "check callback":
+        topic: (browser)->
+          browser.check "uncheck", @callback
+        "should callback": (_, browser)-> assert.ok browser.querySelector("#field-uncheck").checked
+      "uncheck callback":
+        topic: (browser)->
+          browser.uncheck "check", @callback
+        "should callback": (_, browser)-> assert.ok !browser.querySelector("#field-check").checked
+
         
   "radio buttons":
     zombie.wants "http://localhost:3003/forms/form"

        <input type="password" name="password" id="field-password">
        <input type="badtype" name="invalidtype" id="field-invalidtype" />
        <input type="text" name="email2" id="field-email2" />

        <label>Hungry</label>
        <label>You bet<input type="checkbox" name="hungry[]" value="you bet" id="field-hungry"></label>

        <label for="field-brains">Brains?</label>
        <input type="checkbox" name="brains" value="yes" id="field-brains">
        <input type="checkbox" name="green" id="field-green" value="Super green!" checked="checked">
        
        <input type="checkbox" name="check" id="field-check" value="Huh?" checked="checked">
        <input type="checkbox" name="uncheck" id="field-uncheck" value="Yeah!">

        <label>Looks
          <select name="looks" id="field-looks">
