 
 package weave.data
 {
-	import flash.utils.Dictionary;
-	
 	import avmplus.getQualifiedClassName;
 	
+	import weave.api.getCallbackCollection;
 	import weave.api.getLinkableDescendants;
 	import weave.api.getSessionState;
 	import weave.api.objectWasDisposed;

						var geoms:Vector.<GeneralizedGeometry> = new Vector.<GeneralizedGeometry>();
						for (var i:int = 0; i < data.length; i++)
						{
							for each (var geom:GeneralizedGeometry in GeneralizedGeometry.fromGeoJson(data[i]))
							{
								geomKeys.push(keys[i]);
								geoms.push(geom);

				if (!dataSourceName)
					continue;
				
				var metadataHashes:Array = d2d_dataSource_metadataHash_column.secondaryKeys(dataSource);
				for each (var metadataHash:String in metadataHashes)
				{
					var column:IAttributeColumn = d2d_dataSource_metadataHash_column.get(dataSource, metadataHash);
					if (!column || objectWasDisposed(column))
						continue;
					var metadata:Object = ColumnMetadata.getAllMetadata(column);
