Split game implementation into separate subdirectory