Use new plugin api (allows annotations).
Refactor methods.
Better logs & errors.