Why do you need metatable OOP?
Indexing singular method with such inheretance is like doing 1 index but at price of 3 perfomance wise.
Consider switching to ECS or different OOP technique Strictly typed <<Object Oriented Programming>> (Better than metatable OOP)
Anyway you better to return class constructors right awey without doing module.new stuff.
Game development is firstly about perfomance so you must reject most of high level language habbits.