Refactorings and performance improvements. Also added full support for NoWeaving attribute on both types and properties