Note Every class that extends Gameplay::Ref must be instantiated as a pointer. Otherwise random segfaults will happen