There's a series of concerns:

* Complexity - This is only done here and in no other manager. Returning a dictionary is always better than returning a magic dictionary that returns another instance of the magic dictionary if the key does not exist.
* Overhead - This is needless overhead for most use-cases.
* Deprecation - I want to stop using NestedDict in favor of the lookup() helper function. It's clearer what is happening and easier to format the code using it for deeply nested things.