replace BasketWrapper.Execute(enum) with more specific execute methods.
Execute(enum) was always being called with a fixed enum value, so the top-level switch was only complicating the code.
removing unused fields
BasketWrapper properties PurchasingOwner and OwningCustomer were only
used from one BasketWrapper method, so now they are method parameters
instead of class state.