KeyInput is now a final class