Introduced simple router, doesn't currently do anything.
Got convinced to think less object-y - if an action can be templated into a function then why worry about passing around a wrapping object? Made the 2nd param to the http server a function rather than an object.