/// <summary>
        /// Register custom transformation.
        /// </summary>
        /// <param name="code">Code of custom transformation.</param>
        /// <param name="activator">Activator of transformation.</param>
        public static void RegisterTransformation(string code, TransformationActivator activator)
        {
            foreach (var symbol in code)
            {
                if (symbol <= 'a' || symbol >= 'z')
                {
                    throw new ArgumentException($"Register code {code} failure. Code must contain only lower-case letters.");
                }
            }

            RegisterTransformationInternal(code, activator, Constants.CustomTransformPrefix);
        }
        private static void RegisterTransformationInternal(string code, TransformationActivator activator, string prefix)
        {
            var formattedCode = prefix + code;

            Activators[formattedCode] = activator;
        }