Ok so i\'ve build my own variable handler which has a __getitem__ function for use when accessing data via data[key], it works great except for when trying to a
__getitem__
Remember: tmp = foo['bar']['baz'] is the same as tmp = foo['bar']; tmp = tmp['baz']
tmp = foo['bar']['baz']
tmp = foo['bar']; tmp = tmp['baz']
So to allow arbitrary depths your __getitem__ method must return a new object that also contains such a __getitem__ method.