Blocking call on widgets.

def listen(self):
        """Blocking call on widgets.

        """
        while self._listen:
            key = u''
            key = self.term.inkey(timeout=0.2)
            try:
                if key.code == KEY_ENTER:
                    self.on_enter(key=key)
                elif key.code in (KEY_DOWN, KEY_UP):
                    self.on_key_arrow(key=key)
                elif key.code == KEY_ESCAPE or key == chr(3):
                    self.on_exit(key=key)
                elif key != '':
                    self.on_key(key=key)
            except KeyboardInterrupt:
                self.on_exit(key=key)