Watch should accept a strategy

If a `:with` option is passed, than anything that responds to call can be used