WIP - Refactor followup

So the second commit in this shows what I think the structure should be like, however its going to take me way too long to uncouple all of the logic between the special database, the easiest way I think is for me to write a new project that just does the core routing and figure out how the additional functionality will work on top of that