Registers field with its check; call leave when it goes away.
field
check
void join(Object field, bool Function() check) => _add(field, check);