Deserves its own thread.