Add fulfill! and reverse! to item models to allow better separation of fulfillment concerns