Refactored the configuration layer, and expose a 'configure' command

``manually`` looks weird in the middle of the name. It would read better as ``updateConfigurationManually`` or ``updateManualConfiguration`` depending on the intended meaning