This combines the `EntityCommand` and `AllyEntityCommand` to allow for more sorts of commands (e.g. click a button to assign a idle villager to a resource).
I'm not yet convinced this is the right way of doing it. Rather: I am convinced this is not the right way of doing it ;)