Disregard the above comments. I implemented what I was looking for in e11fd6c for #2031. It goes something like this:
```ruby
module MenuNode
  def initialize
    @children = {}
  end
end

class Menu
  include MenuNode
  def initialize
    super
    # ...
  end
end
```

I'm thinking we'll get your PR pulled in first, then I'll rebase mine.