I believe what you’re looking for is called a placement system. You should take a look at @EgoMoose’s placement system tutorial here. He explains everything you need in-depth, and he also uses OOP.
You’ll probably find everything you need in that thread. There’s an example place too.