Pawn, Controller -- what's the third class?

Looking into this some more, it ends up being trouble anyway, because the controller should enforce rules (“no missile firing when out of missiles”) which means it has to grab a bunch of state from the pawn anyway, so there’s still some code duplication.
Some simple way of implementing delegation in blueprinting would go a long way towards solving this problem. (Note: interfaces express the possibility to delegate, but does not allow for elegant implementation of such delegation)