Playing with pegjs and a tagging syntax conceived for use with the watch
feature. Basically wanted something like dot-delimited glob matching, but
instead of hierarchy (parent.child.*) you filter on tags like:

  any[debug api] - watchers tagged with either debug or api.
  none[info] - watchers not tagged with info.
  all[debug api] - watchers tagged with debug and api.
  all[debug api not[mongo]] - watchers tagged with debug and api but not mongo.

Shorthand examples:

  debug api !mongo - defaults to all
  ~[debug warn info] - any of debug, warn, info

In the context of pug:
  pug.interval(500).watch 'queries info', -> console.log db.queries.length
  pug.interval(1000).watch 'queries error', -> console.log db.errors.length
  ... stuff happens ...
  pug.pause 'info'
  ... saw what you needed to see ...
  pug.stop '*'

Overkill ;0 Possibly not even as usable as those dots. But I learned something
new.
Tag filtering by boolean operations (tag expressions).
WatcherCollections now use tag expressions to do filtering.
Getting watchers working.
Added broaden. Added some comments.