Added support for primary routes and made the base Adapter class a bit more suspectible to throwing errors when wrongly implemented in the inheriting classes