We're close, in theory.
Given semantics, we can compose services
that allow a Wizard to know things
using input/output declarative message descriptions.
We need two more kinds for a Wizard to act: Service Preconditions
You have to be 18 years old to rent the car.
You must have $100K of insurance to rent this music hall.