Abstract routes in separate modules