Fix bug with setup.py
Encapsulate route data in a Route object and add some tests