Configurable->Whatable and code reorganisation