 			if(!callbacks) return false;
 			const index:int = callbacks.indexOf(callback);
 			if(index < 0) return false; 
+
+			if(callbacksInUse)
+			{
+				callbacks = callbacks.slice();
+				callbacksInUse = false;
+			}
+				
 			callbacks.splice(index, 1);
 			return true;
 		}

	{
		private var callbacks:Vector.<Function>;
		
		
		
		/**

					snapshot[i].apply(null, args);
				}
			}
			
			callbacksInUse = false;
		}

		
