public ITaskHandler GetForHandlerType(TaskHandlerType handlerType)
        {
            if (_registry.TryGetValue(handlerType, out var handler))
            {
                return(handler);
            }

            throw new ArgumentException(
                      $"No handler found for provided handler type with value {handlerType}");
        }
        public void Register(TaskHandlerType handlerType, ITaskHandler handler)
        {
            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            if (!_registry.TryAdd(handlerType, handler))
            {
                _registry[handlerType] = handler;
            }
        }