Why all into one class, rather than an enrichment pattern? Having a CMS joiner is very powerful, but hard to call it 'core' to a typed pipe?