Unit tests for the router
Events can mix in on/off methods and have documentation.  Client broken out a bit
Updated docs