private boolean undo() {
		boolean isSuccessful = false;
		if (actionList.isEmpty()) {
			messageToUser = MSG_CANNOT_UNDO;
			return isSuccessful;
		}
		ActionEntry x = actionList.pop();
		Action done = x.getAction();
		Command command = done.getCommand();
		switch (command) {
		case ADD:
			isSuccessful = undoAdd(done);
			break;
		case DELETE:
			isSuccessful = undoDelete(done);
			break;
		case MODIFY:
			isSuccessful = undoModify(done, x.getTask());
			break;
		case MARK:
			isSuccessful = undoMark(done);
			break;
		case BLOCK:
			isSuccessful = undoBlock(done);
			break;
		case UNBLOCK:
			isSuccessful = undoUnblock(done);
			break;
		default:
			isSuccessful = false;
			break;
		}
		return isSuccessful;
	}