Lightweight, Angular-friendly DAO factory