BaseDecorator pattern extracted to the 'active_patterns' gem