     public var parentNode: SKNode?
     public var sprite: SKNode?
     
+    private var _touchableSprite: SKNode?
+    public var touchableSprite: SKNode? {
+        get {
+            return self._touchableSprite == nil ? self.sprite : self._touchableSprite
+        }
+        set {
+            self._touchableSprite = newValue
+        }
+    }
+    
     public var name: String = "Untitled"
     
-    public var size: CGSize = CGSizeMake(500,200)
+    public var wantsPanGestures = false
+    
+    private var _size: CGSize = CGSizeMake(500,200)
+    public var size: CGSize {
+        get {
+            return self._size
+        }
+        set {
+            self._size = newValue
+            self.sizeDidChange()
+        }
+    }
+    
     private var _position: CGPoint = CGPointMake(100,100)
     public var position: CGPoint {
         get {

        self.position = CGPointMake(x,y)
    }
    
    override public func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
    }

        }
    }
    
    public func sizeDidChange() {
        
    }
    
    public func render() {
        if (self.sprite != nil) {
            self.parentNode?.addChild(self.sprite!)
