Михаил, не хотите. Хотели бы - попытались бы сделать это самостоятельно, и, в случае неудачи, задавали бы более конкретные вопросы вместо "как это работает?".
rayiga, совет: старайтесь думать хотя бы на два шага вперёд. Задаёте вопрос - а что если его формулировка недостаточно конкретна? Подумайте, какие вам могут задать встречные уточняющие вопросы и ответьте на них ЗАРАНЕЕ.
Nivaech, не нужен, всё делается так же - перебираете, удаляете без проверок. Если не можете, значит у вас не "мелкие пробелы", а обыкновенное незнание языка. Может, вам тогда на фриланс ходить, а не сюда?
В документации чёрным по белому написано, что "обработчик handler вызывается после каждой мутации". Вам неизвестно значение слова "каждой"?
Да, если разные мутации должны по-разному обрабатываться.