 			invalidateProperties();
 		}
 		
+		override protected function layer_PropertyChange(event:PropertyChangeEvent):void
+		{
+			super.layer_PropertyChange(event);
+			
+			if (event.property == "effectiveVisibility")
+			{
+				effectiveVisibilityChanged = true;
+				invalidateProperties();
+			}
+		}
+		
 		
 	}
 }

			];
		}
		
		override protected function getCurrentSkinState():String
		{
			return currentState;
		} 
		
		private function addedToStageHandler(event:Event):void
		{

			if (canRotate())
				currentState = "rotatingState";
			
			invalidateSkinState();
			addVisibilityListeners();
		}
		
		private function removedFromStageHandler(event:Event):void
