       @$el.html(ret)
       return @
 
-    actionHandler: (e)=>
-      try
-        source  = $(e.currentTarget)
-        action  = source.data("hull-action")
-        fn = @actions[action] || @["#{action}Action"]
-        unless _.isFunction(fn)
-          throw new Error("Can't find action #{action} on this Widget")
-        options = {}
-        options[decamelize(k).replace("hull_", "")] = v for k,v of source.data()
-        fn.call(@, source, e, options)
-      catch e
-        console.error("oops... missed action?", e.message, e)
-      finally
-        e.stopPropagation()
-        e.stopImmediatePropagation()
-
     afterRender: (data)=> data
 
 

      try
        @events = if _.isFunction(@events) then @events() else @events
        @events ?= {}
        @events["click [data-hull-action]"] = 'actionHandler'

        # Building actions hash
        @actions = if _.isFunction(@actions) then @actions() else @actions

    app: 'app'
    org: 'org'

  actionHandler = (e)->
    try
      source  = $(e.currentTarget)
      action  = source.data("hull-action")
      fn = @actions[action] || @["#{action}Action"]
      unless _.isFunction(fn)
        throw new Error("Can't find action #{action} on this Widget")
      options = {}
      options[decamelize(k).replace("hull_", "")] = v for k,v of source.data()
      fn.call(@, source, e, options)
    catch e
      console.error("oops... missed action?", e.message, e)
    finally
      e.stopPropagation()
      e.stopImmediatePropagation()


  class HullWidget extends Backbone.View

    actions: {}
