Correct order of operations for watch task when routes are changed.
Removed some debug code.
Removed unused Editor definitions from views.
Modified routes for deep nesting and dynamic views.
Changed middleware keys to use an array of objects instead of a dictionary for simplicity.
Breaks table-viewer (needs to be refactored).
Removed handlers for item selection - now handled directly by router. (need to add states based on param props)
Slightly refactored Editor for speed and simpler rendering. Editor is now updated via changed routes.
Controller-views now need to pass itemData into Viewers containing data for Router.