   # can be constructed with more flexibility, as file buffers or
   # message queues can be used as additional packet relay mechanisms.
   send: (data) ->
-    @connect() unless @connected
     data = @dataDelegate() if data is undefined and typeof @dataDelegate is 'function'
-    @emitEvent 'data', data
+    @handleSocketEvent 'data', data
 
   # ## Sending information packets without open bracket
   #

    return "DATA -> #{toStr(@to)}" unless @from
    "#{fromStr(@from)} -> #{toStr(@to)}"

exports.InternalSocket = InternalSocket

exports.createSocket = -> new InternalSocket

  # sending semantics single IP objects can be sent without open/close brackets.
  post: (data) ->
    data = @dataDelegate() if data is undefined and typeof @dataDelegate is 'function'
    @handleSocketEvent 'data', data, false

  # ## Information Packet grouping
  #
