decoupling type declarations from game module