public FlowToken Execute(EntityToken entityToken, ActionToken actionToken, FlowControllerServicesContainer flowControllerServicesContainer)
        {
            var modelReference = (IModelReference)((DataEntityToken)entityToken).Data;
            var definition     = DefinitionsFacade.GetDefinition(modelReference.Name);

            DefinitionsFacade.Delete(definition);
            LocalizationsFacade.DeleteNamespace(Localization.GenerateKey(modelReference.Name));

            var ns = modelReference.Name.Substring(0, modelReference.Name.LastIndexOf("."));

            new SpecificTreeRefresher(flowControllerServicesContainer).PostRefreshMessages(new NamespaceFolderEntityToken(typeof(FormBuilderElementProvider).Name, ns));

            return(null);
        }
        protected void Save(IDynamicDefinition definition)
        {
            SaveExtraSettings(definition);

            var token          = GetBinding <DataEntityToken>("BoundToken");
            var modelReference = (IModelReference)token.Data;

            var name = GetBinding <string>("Name");

            var introText       = GetBinding <string>("IntroText");
            var successResponse = GetBinding <string>("SuccessResponse");

            using (var writer = ResourceFacade.GetResourceWriter())
            {
                writer.AddResource(GetKey("IntroText"), introText);
                writer.AddResource(GetKey("SuccessResponse"), successResponse);
            }

            var isNewName = name != modelReference.Name;

            if (isNewName)
            {
                LocalizationsFacade.RenameNamespace(Localization.KeyPrefix + "." + modelReference.Name, Localization.KeyPrefix + "." + name, Localization.ResourceSet);

                DefinitionsFacade.Copy(definition, name);
                DefinitionsFacade.Delete(definition);

                modelReference = ModelReferenceFacade.GetModelReference(name);
                token          = modelReference.GetDataEntityToken();

                UpdateBinding("BoundToken", token);
                SetSaveStatus(true, token);
            }
            else
            {
                DefinitionsFacade.Save(definition);

                SetSaveStatus(true);
            }

            CreateParentTreeRefresher().PostRefreshMessages(EntityToken);
        }