/// <summary>
        /// Service Start
        /// </summary>
        protected override void Start()
        {
            //configure default state
            if (_state == null)
            {
                _state = new ScribblerLightSensorState();

                _state.LeftSensor = new analog.AnalogSensorState();
                _state.LeftSensor.Identifier = 0;
                _state.LeftSensor.RawMeasurementRange = 65535;

                _state.CenterSensor = new analog.AnalogSensorState();
                _state.CenterSensor.Identifier = 1;
                _state.CenterSensor.RawMeasurementRange = 65535;

                _state.RightSensor = new analog.AnalogSensorState();
                _state.RightSensor.Identifier = 2;
                _state.RightSensor.RawMeasurementRange = 65535;
            }

            // Listen on the main port for requests and call the appropriate handler.
            ActivateDsspOperationHandlers();

            // Publish the service to the local Node Directory
            DirectoryInsert();

			// display HTTP service Uri
			LogInfo(LogGroups.Console, "Service uri: ");

            SubscribeToScribblerBase();
        }
 public virtual IEnumerator<ITask> ReplaceHandler(Replace replace)
 {
     _state = replace.Body;
     replace.ResponsePort.Post(DefaultReplaceResponseType.Instance);
     yield break;
 }