Refactor mongo crud to separate out basic mongo operations into separate classes, so we can later plug in different implementations as needed