Add tests for multiple children

@czue @sreddy Viewing by commit should be easier - the first commit is mostly just moving stuff around so logic in the CMR classes is also available to the BPR.