Allow self-referencing objects by splitting the instantiation and population of objects, fixes #45