Rework GameTerminal to singleton