PR for code review.

May want to consider some kind of prefix to keep the cms metadata fields separate from the user fields.  Mongo itself uses "_".