@Override
	protected void doStart() throws ServiceException {
		super.doStart();
		this.logger = LoggingService.getInstance(getCore());
		this.stateMachine = new DeterministicStateMachine(getCore());
		this.stateMachine.addState(createLoggingState(START_STATE_ID), START_STATE_ID);
		this.stateMachine.addState(createLoggingState(END_STATE_ID), END_STATE_ID);
		this.stateMachine.setStartState(START_STATE_ID);
		this.stateMachine.engage();
		
		getCore().addListener(this);
	}