Cleaned up routes by using RouteController. Things unfortunately got a
little hacky, but I think it's still an improvement.