Refactor
Fix bug where tasks ran immediately. Create a stream recorder that records stream operations that can be played back.
Add support for merge