#32 WidgitImpl constructor takes unmodifiable