   getItems: ->
     @transformers.map (klass) ->
       klass = Base.getClass(klass) if _.isString(klass)
-      className = klass.name
-      displayName = klass::displayName if klass::hasOwnProperty('displayName')
-      displayName ?= _.humanizeEventName(_.dasherize(className))
+      displayName = klass.displayName ? _.humanizeEventName(_.dasherize(klass.name))
       {name: klass, displayName}
 
   initialize: ->

# -------------------------
class Surround extends TransformString
  @extend()
  displayName: "Surround ()"
  pairs: [
    ['[', ']']
    ['(', ')']


class UpperCase extends TransformString
  @extend()
  @displayName: 'Upper'
  hover: icon: ':upper-case:', emoji: ':point_up:'
  getNewText: (text) ->
    text.toUpperCase()

class LowerCase extends TransformString
  @extend()
  @displayName: 'Lower'
  hover: icon: ':lower-case:', emoji: ':point_down:'
  getNewText: (text) ->
    text.toLowerCase()

class CamelCase extends TransformString
  @extend()
  @displayName: 'Camelize'
  hover: icon: ':camel-case:', emoji: ':camel:'
  getNewText: (text) ->
    _.camelize text

class SnakeCase extends TransformString
  @extend()
  @displayName: 'Underscore _'
  hover: icon: ':snake-case:', emoji: ':snake:'
  getNewText: (text) ->
    _.underscore text

class DashCase extends TransformString
  @extend()
  @displayName: 'Dasherize -'
  hover: icon: ':dash-case:', emoji: ':dash:'
  getNewText: (text) ->
    _.dasherize text

class TitleCase extends TransformString
  @extend()
  @displayName: 'Titlize'
  getNewText: (text) ->
    _.humanizeEventName(_.dasherize(text))

class EncodeUriComponent extends TransformString
  @extend()
  @displayName: 'Encode URI Component %'
  hover: icon: 'encodeURI', emoji: 'encodeURI'
  getNewText: (text) ->
    encodeURIComponent(text)

class DecodeUriComponent extends TransformString
  @extend()
  @displayName: 'Decode URI Component %%'
  hover: icon: 'decodeURI', emoji: 'decodeURI'
  getNewText: (text) ->
    decodeURIComponent(text)
