         layer.shadowOpacity = 0
     }
     
+    func showSeeThrough() {
+        layer.opacity = 0.5
+    }
+    
+    func hideSeeThrough() {
+        layer.opacity = 1
+    }
+    
     
     // --- Menu helper methods
     func showMenu() {

    
    func touchUp(button: UIButton, withEvent event: UIEvent) {
        startDown = nil
        if dragging == .Dragging {
            dragging = .None // This always ends drag events
            if !menuShowing {
                // Don't show menu at the end of dragging if there wasn't a menu to begin with
                return
            }
        }

            let touchLoc = touch.locationInView(self.superview)
            if abs(startDown!.x - touchLoc.x) > 10 || abs(startDown!.y - touchLoc.y) > 10 {
                dragging = DragState.Dragging // To avoid triggering tap functionality
                showSeeThrough()
            }
            center = boundCenterLocToRoom(touchLoc)
            if let handler = moveHandler {
