User base type when possible
Extract Interfaces  and base types to new  assembly
Merge pull request #2 from D10221/dev

Extract Assembly