Start work for running on another thread.

Also, some more skeletons.

Lastly, a slight change to Learn() (and friends) based on Honza's
comments.