Totally rewritten, much faster
Library stuff for extra features
Remove the listeners object once listen() has consumed them.
Default Coju router
Add the router, at the bottom once methods are registered to the object.