I prefer the “need” terminology because a TransferState does not only run when it has X, it also is considered to be finished when it cannot get X.