* Make controllers modular, support changing controller type * return readable events * signal hid events * fix style