Writing a game engine, don't judge...