[#15] Adding more rigidity around event system. [#16] Adding first step for keyboard inputs.