Rewrote to make the design not rely on tokio. Uses `crossbeam_queue::ArrayQueue` heavily as the basic abstraction for passing messages around between different pseudo-processes.