Added Dispose handling for Plugin
Moved EarlyPlugin and split the classes into multiple files
Slight modifications to EarlyPluginFactory for comments, clarification