/// <summary>
        /// Default constructor for <see cref="FeedingSlot"/>
        /// </summary>
        /// <param name="slotConfig"></param>
        /// <param name="dependendSlots"></param>
        /// <param name="thingsResource"></param>
        public FeedingSlot(FeedingSlotOptions options, IEnumerable <FeedingSlot> dependendSlots, IThingsResource thingsResource)
        {
            _gate        = thingsResource.GetDevice <IGateDevice>(options.FlapId);
            BypassSensor = options.BypassSensor;

            _sensor         = BypassSensor ? null : thingsResource.GetDevice <IDigitalSensor>(options.SensorId);
            _dependendSlots = dependendSlots == null ? new FeedingSlot[0] : dependendSlots.ToArray();

            Name = options.Name;
        }
        public FeedingManagerOptions AddSlot(FeedingSlotOptions options)
        {
            FeedingSlots.Add(options);

            return(this);
        }