@Override
	public final void start(Core core) throws ServiceException {
		if (this.status != Status.STOPPED) {
			throw new IllegalStateException("service " + getName() + " is not in stopped state");
		}
		this.core = core;
		this.status = Status.STARTED;
		doStart();
	}