
Likely, we could have created our own domain-specific language to
express the variability points or use a popular scripting language like
Ruby. The Aggregators republish aggregated data to be transformed by
another set of transformers. In the Starbucks example, a two-phase
commit would equate to waiting at the cashier with the receipt and the
money on the table until the drink is finished. It is one possible
implementation of a Splitter in a specific run-time environment.