Initial implementation of Mouse and Keyboard abstractions