# Abstract Persistence Layer of Mercury This Android module defines interfaces for a persistence backend. Ideally this module would at some point be a plain java (non-Android) module to allow for non-Android implementations. This is currently being blocked by [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) being an Android library. We could fix this by replacing LiveData with RxJava, but this would require us to manually handle LifeCycles of ViewModels etc. so for now we stick with LiveData. ## Packages ### `model` package Contains interfaces that define the structure of data classes. ### `repository` package Repositories build a user-friendly interface to query and modify data in the backend. ## Implementations Currently the module is only being implemented by the `persistence-room` Android module.