Move responsibility of ID checking to the caller