public void UnregisterExtension(IBeverageExtension extension)
 {
     if (_extensions.ContainsValue(extension))
     {
         _extensions.Remove(_extensions.First(x => x.Value == extension).Key);
     }
     else
     {
         throw new ArgumentException($"Extension {extension.GetType().FullName} not yet registered");
     }
 }
        public void RegisterExtension(IBeverageExtension extension)
        {
            string extensionName = extension.GetType().Name;

            if (!_extensions.ContainsKey(extensionName))
            {
                _extensions.Add(extensionName, extension);
            }
            else
            {
                throw new ArgumentException($"Extension: {extensionName} already registered");
            }
        }
 public bool HasExtension(IBeverageExtension extension)
 {
     return(_extensions.ContainsValue(extension));
 }