scoping of app-state to cleanup

- scope data by paths so don't have to keep passing around app-state and
building big paths all over the place