threaded pipeline

I was sloppy and committed this based on the assumption that you'll merge in unstable-eval. I can rebase and clean this up as needed but figured you'd want to get this asap so you can leave feedback.