nit: it seems like `_itemsPerPage` and `_rotateSelection` belong on the object, rather than being functions defined in the key event handler. There obviously isn't a performance issue here because key events are not that frequent, but it just feels funny to me having this kind of general functionality defined in this way.