Я не уверен, что полностью понимаю вопрос, но простой ответ на то, что я думаю, вы спрашиваете, «конечно». : -)
Нет ничего плохого в том, чтобы иметь временное вычисляемое в реальном времени значение «currentTotalDuration» и атрибут «cachedTotalDuration». Когда «currentTotalDuration» обновляется, бросьте его в «cachedTotalDuration», и все готово. Для меня совершенно разумно иметь постоянный кэшированный атрибут наряду с «вычисляемым в реальном времени» переходным значением, которое используется только тогда, когда его необходимо обновить.
Я не знаком с зависимыми свойствами Мартина Бруггера, но похоже, что большая часть тяжелой работы уже сделана для вас.
Надеюсь, я ответил на вопрос, который вы на самом деле задали. : -D