Collect keyboard events into queues
Refactor keyboard events gathering
Replace implementation of key-up? and key-down?

Use event queue model implementation