 			_socket = null;
 		}
 
-		private function onMessage(event:/*/MessageEvent/*/Object):void
-		{
-			var str:String = event.data;
-			var record:Object = JSON.parse(str);
-
+		private function addRecord(record:Object):void
+		{
 			if ((records.length == keepLast.value) && (keepLast.value > 0))
 			{
 				records.shift();

			{
				propertyNames.add(key);
			}

			refreshAllProxyColumns();
		}

		public function getPropertyNames():Array/*/<string>/*/

		//public const selectionFeedback:LinkableBoolean = Weave.linkableChild(this, LinkableBoolean);
		public const url:LinkableString = Weave.linkableChild(this, LinkableString, onUrlChange);

		override protected function initialize(forceRefresh:Boolean = false):void
		{
			// recalculate all columns previously requested because CSV data may have changed.
			super.initialize(true);
		}

		private function onSelectionFilterChange():void
		{
