 	import weave.api.WeaveAPI;
 	import weave.api.core.ILinkableObject;
 	import weave.api.data.IAttributeColumn;
+	import weave.api.data.IColumnWrapper;
 	import weave.api.data.IQualifiedKey;
+	import weave.api.detectLinkableObjectChange;
 	import weave.api.linkSessionState;
 	import weave.api.newDisposableChild;
 	import weave.api.newLinkableChild;

			registerSpatialProperty(colorColumn); // because color is used for sorting
			registerLinkableChild(this, Weave.properties.axisFontSize);
			registerLinkableChild(this, Weave.properties.axisFontColor);
			colorColumn.addImmediateCallback(this, function():void { _binnedSortColumnTriggerCounter = 0; });
			
			_binnedSortColumn.binningDefinition.requestLocalObject(CategoryBinningDefinition, true); // creates one bin per unique value in the sort column
		}

					{
						_bitmapText.text = heightColumn.getValueFromKey(recordKey, String);
						var valueLabelPos:Number = valueLabelDataCoordinate.value;
						if (isNaN(valueLabelPos))
						{
							valueLabelPos = (height >= 0) ? yMax : yNegativeMax;
						}
