Backend object for data saving & caching. It's a little bit messy.