Abstract out CRUD functions
Reuse API for User model and handle errors