Rust does not make it simple or easy to reference objects from objects. You will be fighting the borrow checker if you try. This is what I mean.
The web standards have lots of references between everything. This type of object oriented programming means having lots and lots of cycles in your object graph. This makes Rust very veeeery unhappy. The Servo people are trying, and they have been trying for a looong time...