Yeah, that appears to be the pattern. You return a task object that hasn't been started, and it will start it up.