Refactoring everything to come from config, also refactoring commands to be more readily extended from outside the main executable entry point