Improving performance for getting fields, allow accessing fields as class attributes after they are registered.
Various fixes, adding back validation, adding SafeReferenceField