removed InvariantLanguage
at this point it seems like adding invariant language as some
kind of special case is a bit silly
Id for classes
Content requires Language
IsoCode as language identifier
private setters for language
LanguageFactory will provide instances of languages