Séparation commande–requête
principle that every method should either be a command that performs an action, or a query that returns data to the caller, but not both; asking a question should not change the answer