Initial code review of current code base

Feels like this could all be a lot more generic - atm the logic for setting up the config pages is contained both in here and in the Wizard class constructor.  If instead there were a single method called 'add_config_page' which took the page and button then this could be much simpler without this class needing to know which configs are available - it would all be driven from the wizard