Factors out commonalities of {Pattern,Mixture}.Agent into Agents trait.  WIP (some tests don't pass).