establishing overall frontend architecture with app level view and client router to swap subviews in and out