It would be better if we had another value (probably in some simplistic base class) called IsInitialized, to prevent others from creating these objects through this constructor and then using them before their content has been added.