Refactoring Main program launcher to use the plugin architecture.