Replaced use of FunctionType with callable()
Tweaked condition to be more PEP8 compliant.
Added overdue support for ObjectId type in schemas.
Implemented validation checks which ensure only fields listed in the schema are allowed in saved documents.