   set4Bit : (@fourBit) ->
 
 
-  getLoadSocket : _.once ->
-
-    new ArrayBufferSocket(
+  getLoadSocket : ->
+
+    if @socket? then @socket else @socket = new ArrayBufferSocket(
       senders : [
         # new ArrayBufferSocket.WebWorker("ws://#{document.location.host}/binary/ws?dataSetName=#{@dataSetName}&cubeSize=#{1 << @cube.BUCKET_SIZE_P}")
         # new ArrayBufferSocket.WebSocket("ws://#{document.location.host}/binary/ws?dataSetName=#{@dataSetName}&cubeSize=#{1 << @cube.BUCKET_SIZE_P}")

    # Measuring the time until response arrives to select appropriate preloading strategy 
    roundTripBeginTime = new Date()

    @getLoadSocket().send(transmitBuffer)
      .pipe(

        (responseBuffer) =>

      responseBufferType : Uint8Array
    )


  getTestBucket : _.once ->

    result = new Uint8Array(@cube.BUCKET_LENGTH)
