A cross-framework persistence layer