Game controller refactor