 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+            if (value is IUIBase)
+                host = IUIBase(value);
+            else if (value is IBeadView)
+                host = IUIBase(IBeadView(value).host);
+            
+            IEventDispatcher(host).addEventListener("heightChanged", changeHandler);
+            IEventDispatcher(host).addEventListener("widthChanged", changeHandler);
 			
-			var bgColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
 			if( bgColor != null ) {
-				backgroundColor = uint(bgColor);
+				backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
 			}
 			
-			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(value, "opacity");
+			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
 			if( bgAlpha != null ) {
 				opacity = Number(bgAlpha);
 			}

				
		private var _strand:IStrand;
		
        /**
         *  @copy org.apache.flex.core.IBead#strand
         *  

		
		private function changeHandler(event:Event):void
		{
            var g:Graphics = Sprite(host).graphics;
            var w:Number = host.width;
            var h:Number = host.height;
			
