Cyclical dependency issues still in 4.9

Oh no… Probably need to rewrite everything in C++