record migration events, edit virtual functions
add pairwise test for subpopulation structure