не имея доступа к исходному - я пас, даже не взялся бы. Это поверх крокодила вертолет строить. Пока в голову приходит мысль только обернуть вызов обработчика еще в одну функцию. То есть сделать обработчик внешний, который будет принимать твою новую структуру, в внутри "подменять" на ту, что требуется старому обработчику и вызывать его. Но это даже не костыль.... это шпала