@Override
	public void update(long d) {
		if (state == OPEN || state == CLOSED) {
			return; // no update needed
		}
		if (operated + d < TIME) {
			operated += d;
			return; // update operated
		}
		operated = 0; // operation finished, update state...
		if (state == OPENING) {
			state = OPEN;
		}
		if (state == CLOSING) {
			state = CLOSED;
		}
	}