Data interaction layer for Angular.js