Issue #15: Refactor the interface and game states