Тут явно 2 момента: 1) анализ внешних выражений в динамическом языке может превратиться в пи*дец. 2) цикл обновления сейчас сделан максимально оптимально, чтобы за раз проходить всю «реактивность» и она не превращалась в цепочку последовательных вызовов колбеков/вотчеров, от чего страдали ангуляр и накаут например. Если переделывать этот механизм под данную задачу, то скорее всего таким простым и эффективным решение уже не будет