CodeGen.
Removing packages.
Excluding packages.
Improved options using the C# trait pattern and made the implementation private which disables casting.