public boolean execute(Action a) throws IOException {
		boolean rc=false;
		QState state;
		
		if(a instanceof EnterMessageBoard) {
			// seems strange that we get this and that we need to send ANOTHER MC back.
			_session.send(new MC());
			if(checkEmail())
				_session.send(new NewMail());
			rc=true;
		} else if(a instanceof EnterSuperChat) {
			_bSuperChat=true;
			rc=true;
		} else if(a instanceof EnterChat) {
			rc=true;
			if(_bSuperChat)
				state=new SuperChat(_session);
			else
				state=new Chat(_session);
			state.activate();
		} else if(a instanceof AbortSelectList) {
			clearMessageList();
		} else if(a instanceof SelectMoreList) {
			sendMessageList();
		} else if(a instanceof FileTextAck) {
			sendPackedLines();
		}
		if(!rc)
			rc=super.execute(a);
		return rc;
	}