No retorno de chamada, efetuamos o drill down para obter a função GetUserData, dando-nos um indicador da entidade criadora dos corpos de física em contato. Neste ponto, daremos início a uma jornada mágica. A cada objeto que se tocar, precisaremos sinalizar que uma colisão ocorreu. Para isso, chamamos a função onTouch transmitindo o outro corpo de física que está sendo tocado. Você pode ver que a entidade A recebe uma chamada de onTouch, transmitindo o corpo B e, a entidade B recebe uma chamada da função onTouch, transmitindo o corpo A. Esta configuração permite a cada entidade responder a colisões à sua maneira. Por exemplo: se um evento onTouch fosse um míssil, ele removeria cinco de vida de um jogador. Se fosse trombar contra uma parede, ele poderia simplesmente se autodestruir. Mas ainda não escrevemos a função onTouch. E, para fazê-lo, precisamos voltar lá atrás, em entity.js, e adicionar uma função onTouch permitindo a unidades sobrecarregarem-na com lógica personalizada, mais tarde. Vale a pena ressaltar que é aconselhável verificar seus dados para assegurar que a informação dada à função PostSolve seja válida. Por exemplo: o fato de bodyA e bodyB serem objetos válidos ou nulos e o fato de apontarem para tipos de entidades adequados e terem funções onTouch. Deixaremos que se ocupem dessas questões no futuro, mas pensamos que seria bom se deixássemos cair a máscara. Isso tudo quer dizer que qualquer pessoa que defina um corpo, deverá também definir uma função onTouch.