Всем ку. Подскажите, пожалуйста, как лучше всего решить такой кейс: приложение может работать в оффлайн режиме, надо синхронизировать данные в фоне, как только появится доступ в сеть. Я сделал sealed class SharingInfo, у которого есть несколько состояний: local - значит сущность ещё не зарегана на бэке, not sync - значит сущность зарегана на бэке, но с ней произошли изменения, о которых бэк ещё не знает, sync - данные полностью синхронизированы с бэком. Но получившаяся сущность очень не гибкая, шаг влево, шаг вправо - сразу костыли. Есть предложения, как лучше всего решить такой кейс?