Don't use boxed trait objects
Boxed trait objects are a great scape goat for solving hard borrow checker errors. But when writing a struct that needs to be reused, you're better off using something else for their interior structure.