Hi Nahla,
I don't know how to create a widget like that, but can point you a work around :
Create an User Exception for each action (you have to do that in each module as the exceptions cannot be public)
Create an Exception handler for each User Exception and use the corresponding action in the Exception handler.

Hope this gives you some ideas
Graça