       pipes = (pipe.trim() for pipe in declaration.split '|')
       context = (ctx.trim() for ctx in pipes.shift().split '<')
       path = context.shift()
-      splitPath = path.split /\.|:/
+      splitPath = path.split '.'
       options.formatters = pipes
-      options.bypass = path.indexOf(':') != -1
 
       if splitPath[0]
         key = splitPath.shift()

      if @view.formatters[id]?.publish
        value = @view.formatters[id].publish value, args...

    @view.config.adapter.publish @model, @keypath, value

  # Subscribes to the model for changes at the specified keypath. Bi-directional
  # routines will also listen for changes on the element to propagate them back
  # to the model.
  bind: =>
    @binder.bind?.call @, @el

    if @options.bypass
      @sync()
    else
      @view.config.adapter.subscribe @model, @keypath, @sync
      @sync() if @view.config.preloadData

    if @options.dependencies?.length
      for dependency in @options.dependencies

          model = @view.models[dependency.shift()]
          keypath = dependency.join '.'

        @view.adapters['.'].subscribe model, keypath, @sync

  # Unsubscribes from the model and the element.
  unbind: =>
    @binder.unbind?.call @, @el
    @view.adapters['.'].unsubscribe @model, @keypath, @sync

    if @options.dependencies?.length
      for dependency in @options.dependencies
