Ways to compartmentalize Dash apps

Yeah, having to pass around the app object makes the architecture more challenging for sure. This is some related discussion about this general topic over at https://github.com/plotly/dash/issues/637.