 					}
 					else
 					{
-						// remember the session state right before applying the last step
-						if (stepsRemaining == 0)
-							_prevState = WeaveAPI.SessionManager.getSessionState(_subject);
 						WeaveAPI.SessionManager.setSessionState(_subject, diff, false);
 					}
 					

				var combine:Boolean = stepsRemaining > 2;
				var baseDiff:Object = null;
				getCallbackCollection(_subject).delayCallbacks();
				while (stepsRemaining-- > 0)
				{
					if (delta < 0)

		 */
		private function saveDiff(immediately:Boolean = false):void
		{
			if (!enableLogging.value)
			{
				_savePending = false;
				return;
			}
			
			var currentTime:int = getTimer();
			
			// remember how long it's been since the last synchronization
