Beyond Design Patterns: Reusing Business Logic via Object Algebras

“Hold these three items in the customer’s cart for ten minutes while they complete payment.”