 		{
 			sortedUnfilteredKeys.setColumnKeySources([group, order, dataX, dataY]);
 			setSingleKeySource(sortedUnfilteredKeys);
-			
-			// temporary solution until lineStyle is given record keys
-			var sm:SessionManager = WeaveAPI.SessionManager as SessionManager;
-			var ls:SolidLineStyle = lineStyle;
-			for each (var adc:AlwaysDefinedColumn in [ls.alpha,ls.caps,ls.color,ls.joints,ls.miterLimit,ls.pixelHinting,ls.scaleMode,ls.weight])
-				sm.excludeLinkableChildFromSessionState(adc, adc.internalDynamicColumn);
 		}
 		
 		public function getSelectableAttributeNames():Array

		this.plotter = plotter;
		this.task = task;
		this.unfilteredKeySet = unfilteredKeySet;
		this.shape = new Shape();
		this.point = new Point();
		if ((task as PlotTask).taskType != PlotTask.TASK_TYPE_SUBSET)
			this.keySet = newDisposableChild(plotter, KeySet);
	}
	
	public var plotter:LineChartPlotter;
	public var task:IPlotTask;
	public var shape:Shape;
	public var point:Point;
	public var unfilteredKeySet:IKeySet;
	public var keys:Array;
	public var keyIndex:Number;
	public var handlePoint:Function;
	public var keySet:KeySet;
	public var group:Number;
	
	public function iterate():Number
	{
		var graphics:Graphics = shape.graphics;
		if (task.iteration == 0)
		{
			handlePoint = graphics.moveTo;
			if (keySet)
			{
				keySet.clearKeys();

		
		try
		{
			for (; keyIndex < keys.length; keyIndex++)
			{
				if (getTimer() > task.iterationStopTime)
				{
					renderer.flush(task.buffer);
					return keyIndex / keys.length;
				}
				
