refactoring gadgets

* rename gadgats in following schema `*Gadget`
* gadget return now a result object