Added support for required properties on classes, such that saving will return an error if properties aren't set.