Refactor to push more work into TwitterClient