I love this refactoring, but... The idea of a decorator is kind of a 1 to many relation, since you decorate the same object for multiple purposes (html table, html select, json for this, json for that, xml...). Given this, I believe the method "decorator" is too generic, and should specify the purpose of this decorator. The same can be said of the decorator class.