Renamed dependency handlers and refactored into a plugin
Significant refactoring related to dependency handling