How to programatically spawn some pawns and attach controllers to them?

Sure, but actually that suggests a refactor is required, because movement is a pretty basic usage case and should not really be tied to the type of thing needing movement. Its kind of my point really, using real composition you could have simply added the movement component to the pawn and have it work. Equally you could have developed a special movement component and had it work across character and pawn and have it work. That’s the real advantage of components (the compartmentalization of specific features to composable classes).