1.5 launchframe split

These commits spilts main() out from LaunchFrame and removed some of the unneeded cyclic dependencies which make testing and CLI creation harder.
DO NOT merge yet. Feedback?