How to spawn an instance of a non-default AI controller?

I have implemented my own AI controller. At some point during the game, I want to create an instance of it and let it possess a pawn. However, I can’t seem to find a way to do it. Is there a function like SpawnDefaultController that can spawn an arbitrary controller?

Spawn actor from class > posses pawn