 				
 				_penToolMenuItem.caption = ENABLE_PEN;
 			}
+		}
+		
+		/**
+		 * This function is passed a target and checks to see if the target is an ILinkableContainer.
+		 * Either a ILinkableContainer or null will be returned.
+		 */
+		private static function getLinkableContainer(target:*):*
+		{
+			var targetComponent:* = target;
+			
+			while(targetComponent)
+			{
+				if(targetComponent is ILinkableContainer)
+					return targetComponent as ILinkableContainer;
+				
+				targetComponent = targetComponent.parent;
+			}
+			
+			return targetComponent;
 		}
 		
 		/**

		 */		
		public static function eraseDrawings(e:ContextMenuEvent):void
		{
			Weave.root.removeObject(PEN_OBJECT_NAME);
			_penToolMenuItem.caption = ENABLE_PEN;
			_removeDrawingsMenuItem.enabled = false;
		}

				penTool.editMode = true;
				_penToolMenuItem.caption = DISABLE_PEN;
				_removeDrawingsMenuItem.enabled = true;
				CustomCursorManager.showCursor(CustomCursorManager.PEN_CURSOR, CursorManagerPriority.HIGH, -3, -22);
			}
			else
			{
