Overriding `__getitem__` here is pretty worrisome, especially with this implementation that requires going through the `content` property which does a dict update.  I see about a factor of 20 performance hit for:
```
c = Column([1, 2])
timeit c[1]
```
Also, without having carefully thought through the code here, I'm suspicious that this will end up changing the API behavior *somewhere* since it's not just falling through to the base `__getitem__`.