Refactor Keyboard

#3