I use this pattern and it works fine - my classes are fairly progressed so I can confidently share them across multiple projects knowing that I not going to be making any fundamental base class changes. It could get a bit complex though if your still 'tinkering' with those baseclasses! All your projects relying on those classes will be affected by any changes in the base classes which is both a blessing and a curse!