Juggling dependencies between multiple crates would probably be easier using the workspace dependencies feature in cargo.