i've recently been trying to always think about how to write things in a compent-style model than with inheritance hierarchies like this. i don't think is actionable on this PR and maybe not even the right model for this class, but might be good to start thinking about when you can do that more often