First of all, thanks for reading and answering everyone!

For that I am grateful.
You should only ever override methods if you want to add/change something to/in them. To me it looks like you're overriding methods because you want to use them in other objects?
I am aware how to override things, and when it should be done. I also know what design patterns I could apply to make it work like intended. What I tried was something very specific, but it would only work if I could override methods I could access in a static context. I can't do that, though.
Why are you using static in the first place? It sounds like you should be using instance methods.
I could, but that's not what I wanted to do.
I think there is a miscommunication somewhere. I might have explained myself poorly. It doesn't matter though, because I've solved my problem in a different manner. Enough rambling

Please avoid replying to this thread anymore. I've found out what I wanted, and I don't think it would be beneficial to keep this debate going. I could explain exactly what I wanted to do, but that would take too long, and I doubt there will be any input of usable substance - at least for me.