In your example you include three capabilities:PickUp, ContainerCapability, and ItemCapability.In addition to their perform() and canPerform() functions, ContainerCapability and ItemCapability also have functions which are related to our understanding of how Containers and Items operate, such as Container.canFit(Item) or Item.getContainer().