The code is not that hard. You just have to get the details ironed out. Below is the method defined in my search panel class, I use for KeyStroke mapping:
In my search panel controller, the inner class extends AbstractAction instead of implementing ActionInterface.
Mark is going to definitely say it is a overkill. Is it true Mark? I don't want to fail...please...