                 return surroundedProperty
         )
 
-})
-
-    ## the main properties
-
-# })
-
-
-
-    # preCreate: () ->
-    #     return
-
-    # create: () ->
-    #     return
-
-    # update: () ->
-    #     return
-
-    # remove: () ->
-    #     return
-
-    ## built ins
-
-
-
-    # get: (attribute, _default) ->
-    #     if @properties[attribute]?
-    #         attr = @properties[attribute]
-
-    #     parsedFloat = parseFloat(attr)
-    #     if "#{attr}" is "#{parsedFloat}"
-    #         return parsedFloat
-    #     else
-    #         if not attr?
-    #             return _default
-    #         else
-    #             return attr
-
-    # set: (attribute, value) ->
-    #     if @properties[attribute]? or typeof @properties[attribute] is 'undefined'
-    #         @properties[attribute] = value
-        
-    #     if typeof value in ['string', 'number']
-    #         @setAttribute(attribute, value)
-
-    #     return @get(attribute)
-
-        # bind attributes
-        # slice = 0
-        # while slice < str.length
-        #     sliced = str.slice(slice, str.length)
-        #     split = sliced.match(regex.attributes)
-
-        #     if not split?
-        #         break
-
-        #     slice += split.index + split[0].length
-
-        # return str
-
-    ## DOM CALLBACKs
-
-    # createdCallback: () ->
-        # alert 'created'+})
helix.config = {}
helix.config.delimiter = /@([a-z0-9_]{1,20})/g
helix.config.localStream = "/"
helix.config.remoteStream = "http://stream.helix.to/"


helix.loadedScripts = {}

    element = document.createElement("#{tag}")
    for key, value of elOptions
        if value?
            element.setAttribute(key, value)

    return element

