To your point of people reusing these modules across apps we should separate out the launch logic from the constructor.