break CombinatorialMaterializerTest into smaller pieces so it can be used in other testing situations.
updated batch processing of events so that they can happen in parallel