Interfaces for object container components, and implementations such as a BTreeContainer and OrderedContainer