Various refactorings and a new plugin action and callback