Persistence module using promises