Moved general behaviour up into AbstractPickup