Currently method BaseActionWatcher.watch catches errors in an internal try/catch block and silently swallow the errors. It stops watching on any error without providing any chance to retry. It returns undefined in all cases :O, and all state properties are private so there's no way to handle errors from derived classes.