If this is used as the *target* for a thread, shouldn't it be a loop?