Be careful, by the way, this could still raise a `ValueError` if for whatever reason the task command returns an empty string as output.

Situations in which that might happen include when, perhaps, searching for a task that doesn't exist.  That being said, a `ValueError` is probably still the right exception to raise in that case (but the traceback might be a little confusing).