This refactoring aims to improve understanding of the model, but also to put good practices in Python development