Call to Add changed to OnAdded and added a base class for the weaver.
Refactored the code weaver.