Abstracted data layer