extract some methods
add Router::mount method, move route mounting to userland