Wouldn't you be able to do the same without the ILanguage.dll?

You could write an ILanguage class (like you have) and simply include it in everything that needs or implements an ILanguage...

That would save you one dll, but probably introduce some compatibility issues...

Gerco Dries.