public int CompareTo(StringOption other)
        {
            if (ReferenceEquals(this, other))
            {
                return(0);
            }
            if (ReferenceEquals(null, other))
            {
                return(1);
            }

            var optionsComparison = Store.CompareTo(other.Store);

            if (optionsComparison != 0)
            {
                return(optionsComparison);
            }

            var namespaceComparison = string.Compare(Namespace, other.Namespace, StringComparison.Ordinal);

            if (namespaceComparison != 0)
            {
                return(namespaceComparison);
            }

            return(string.Compare(Name, other.Name, StringComparison.Ordinal));
        }
            //protected string _value; // currently no callback to save, so just save on input complete

            public Data(Action prompt, Func <string, bool> validation, StringOption option, string optionNameId, bool shouldInputBeObfuscated, StringOptionViewModel model)
                : base((ManagedOptions.ManagedOptionsType)(-1), prompt)
                => TextInqueryData = new TextInquiryData(