Ceci semble évident pour tout le monde lorsque j'évoque un controller, mais beaucoup moins lorsqu'il s'agit d'une commande. Pourtant, ces deux éléments ne constituent que des points d'entrée dans votre application et ne devraient, en aucun cas, contenir de la logique métier.
La logique métier doit se trouver dans des services dont c'est l'unique rôle.
Tout l'intérêt est biensur de pouvoir réutiliser ces services, dans des contextes différents, sans qu'ils ne soient couplés au premier environnement dans lequel vous pensiez les utiliser.