clarify where is GameInput actually loaded from
spacing
refactor function outside of returned object