public IPathValue NewItem(IProviderContext context, string path, string itemTypeName, object newItemValue)
        {
            ITrigger trigger   = null;
            var      parameter = context.DynamicParameters as TriggerNewItemParameters;

            if (null != parameter)
            {
                if (parameter.Interval.HasValue)
                {
                    trigger = new IntervalTrigger {
                        Name = path, Interval = parameter.Interval.Value
                    };
                }
                else if (parameter.Manual)
                {
                    trigger = new ManualTrigger {
                        Name = path
                    };
                }
            }

            if (null == trigger)
            {
                trigger = new ImmediateTrigger {
                    Name = path
                };
            }

            _drive.Add(trigger);

            return(Resolve(context, path).First().GetNodeValue());
        }