Added Filters and Hooks

Filters and hooks added throughout to make the plugin more extensible.
Also dropped the 'mdw' from the function and variable names.