Redesigned object hierarchy.