Move common stuff to abstract CRUD request