Task return statuses not being evaluated correctly

TODO: tests!