Why does it make switching it harder? When testing it shouldn't matter which module is selected since this whole module will be stubbed out. Testing the actually implementations like s3Wrapper and the filesystem module should be done directly on those modules.