Оказывается, я пытался наблюдать прямой 'Array'.
Это происходило потому, что я перебирал ключи родительского объекта и получал значения, выполняя parent [propertyName].Где 'propertyName' предоставляется каким-то другим объектом (я намеренно пропускаю подробности, чтобы не усложнять мой ответ).
Это было пару дней назад, но из памяти это вызвалодоступ через геттер, который имел побочный эффект (возвратил отсортированный массив, новый объект, который не был доступен для наблюдения).
Если вместо этого я получил значение по приватному полю напрямую, а затем наблюдалфактический массив ObservableArray, мои проблемы исчезли.
Итак, я больше не убежден, что мой вопрос верен.Код здесь: https://github.com/scornflake/scheduler (но не ожидая, что кто-нибудь взглянет, на данный момент он достаточно запутан)