this-pointers and IO management fixed
KeyControl refactored to Observable