Fold in callback
Naming convention
Test events
Fire beforewatch and don't start watch if closed