Added self watch ability and fixed a few bugs.

- Fixed a bug that prevented the watcher from working in chained mode.

- When a watcher is chained to a subscribable and provided with a callback function as first argument the subscribable itself is targeted. It works pretty much like the 'subscribe' function except that it is chainable and all available options can be passed as second argument.