hexagonal architecture in rust 1