Sorry, I misread this. checkM1 provides M2? If so, is the only difference here that we're passing M2 through to the callback?