Refactor MainFrame constructor to introduce extensibility & separate initialization routines
Add custom overload for MainFrame
Merge with old code