Plumbing, an alternative to subclassing