Renamed keys
Extracted the main functionnalities into dedicated classes
Coding style