large changes, figuring out decent way to handle data bootstrapping via a global App object, which also acts as a clientside controller for taking actions delegated from an AppRouter