This approach creates new copies of the hide and show functions _every_ _time_ `new OptionMenu` is called. My recommendation used a constructor function that defined these methods on a prototype that is shared by all instances of `OptionMenu`, the code here defeats the purpose. Additionally, the `return { ... }` is now overriding the implicit `OptionMenu` object that should be returned.

Please:

1. Make this a constructor
2. Define container node defined as an own instance property (ie. `this.container = ...)`
3. Define the hide/show methods on a prototype