Dans une stratégie, une state machine est définie à l'aide de callback et de tactic. La majorité des callbacks ont besoin du role et de l'instance du player pour être exécuté. Présentement, ses informations sont passées en utilisant des partial:
player_is_not_closest = partial(self.is_not_closest, player)
Maintenant player_is_not_closest est l'équivalant de d'appeler self.is_not_closest(player). Le problème avec les partiels est qu'il y a plus de callbacks qui prennent en arguments un player que de callback qui ne prennent pas d'argument. Donc, pour améliorer la lisibilité il faudrait que les callbacks recoivent toujours en argument le role et de l'instance du player.