Move keyboard handling into a listenable controller concept (first step for networking)