public IFieldStorage BindStorage(ContentPart contentPart, ContentPartFieldDefinition partFieldDefinition) {
            var partName = XmlConvert.EncodeLocalName(contentPart.PartDefinition.Name);
            var fieldName = XmlConvert.EncodeLocalName(partFieldDefinition.Name);
            var infosetPart = contentPart.As<InfosetPart>();

            return new SimpleFieldStorage(
                (name, valueType) => Get(infosetPart.Infoset.Element, partName, fieldName, name),
                (name, valueType, value) => {
                        Set(infosetPart.Infoset.Element, partName, fieldName, name, value);

                        var context = new FieldStorageEventContext {
                                        FieldName = partFieldDefinition.Name,
                                        PartName = contentPart.PartDefinition.Name,
                                        Value = value,
                                        ValueName = name,
                                        ValueType = valueType,
                                        Content = infosetPart
                                    };

                        foreach(var fieldEvent in _events) {
                            fieldEvent.SetCalled(context);
                        }
                    }
                );
        }
 public void SetCalled(FieldStorageEventContext context)
 {
     context.Content.ContentItem.VersionRecord.Published = false;
 }