Some fixes to the router.

For some reason the _post handling didn't work properly, it wasn't
hitting the relevant controller properly, almost as if it was run via
.call({}).