Refactor monitor to have a single function entry point that returns a monitoring API.  Promises no longer need to expose themselves to the monitor.  Switch to a hash key based approach in aggregator instead of array scanning.
Tweak names