The concurrency was getting so complex I decieded to move all the simulation stuff to another crate.
Write cereal_lib = { git = "https://gitlab.com/notrodes/cereal_lib" } in you're cargo.toml to use
cereal_lib = { git = "https://gitlab.com/notrodes/cereal_lib" }