 		
 		private var _me:RosterItemVO;
 		
-		private var _groups:ArrayCollection = new ArrayCollection();
+		[Bindable]
+		public var groups:ArrayCollection = new ArrayCollection();
 		
 		private static const staticConstructorDependencies:Array = [			
 			ExtensionClassRegistry,

		
		private function setContactGroups(contact:RosterItemVO, groupNames:Array):void
		{
			_groups.disableAutoUpdate();
			for each(var name:String in groupNames)
			{
				//if there's no group by this name already, we need to make one
				if(!getGroup(name))
					_groups.addItem(new RosterGroup(name));
			}
			for each(var group:RosterGroup in _groups)
			{
				if(groupNames.indexOf(group.label) >= 0)
					group.addItem(contact);
				else
					group.removeItem(contact);
			}
			_groups.enableAutoUpdate();
		}
		
		private function updateRosterItemSubscription( item:RosterItemVO, type:String, name:String, newGroupNames:Array ):void

		public function getContainingGroups(item:RosterItemVO):Array
		{
			var result:Array = [];
			for each(var group:RosterGroup in groups)
			{
				if(group.contains(item))
					result.push(group);
