if $object->can('top') and $object->top->can('bottom') ...