     self.removeObservers()
     let center = NSNotificationCenter.defaultCenter()
     let b = self.behaviour
-    self.addObserver(b.didAddToNode? != nil, name: "didUpdate", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didAddToNode? != nil, name: "SKC_didUpdate", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { x.behaviour.didUpdate?((notification.userInfo as [String:CFTimeInterval])["currentTime"]!) } }
     }
     
-    self.addObserver(b.didEvaluateActions? != nil, name: "didEvaluateActions", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didEvaluateActions? != nil, name: "SKC_didEvaluateActions", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { println(notification)  } }
     }
 
-    self.addObserver(b.didSimulatePhysics? != nil, name: "didSimulatePhysics", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didSimulatePhysics? != nil, name: "SKC_didSimulatePhysics", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { println(notification)  } }
     }
 
-    self.addObserver(b.didApplyConstraints? != nil, name: "didApplyConstraints", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didApplyConstraints? != nil, name: "SKC_didApplyConstraints", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { println(notification)  } }
     }
 
-    self.addObserver(b.didFinishUpdate? != nil, name: "didFinishUpdate", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didFinishUpdate? != nil, name: "SKC_didFinishUpdate", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { println(notification)  } }
     }
 
-    self.addObserver(b.didBeginContact? != nil, name: "didBeginContact", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didBeginContact? != nil, name: "SKC_didBeginContact", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled { x.behaviour.didBeginContact?((notification.userInfo as [String:SKPhysicsContact])["contact"]!) } }
     }
 
-    self.addObserver(b.didEndContact? != nil, name: "didEndContact", self.node?.scene) { [weak self] notification in
+    self.addObserver(b.didEndContact? != nil, name: "SKC_didEndContact", self.node?.scene) { [weak self] notification in
       if let x = self { if x.isEnabled {
-        let contact = notification.userInfo!["contact"]!
-        let p = contact as PKPhysicsContact
-        println(p)
-
+        let contact = notification.userInfo!["contact"]! as PKPhysicsContact
+        println(contact)
+        x.behaviour.didEndContact?(contact)
         
         
         }
       }
     }
 
-    self.addObserver(b.didBeginContactWithNode? != nil, name: "didBeginContactWithNode", self.node) { [weak self] notification in
+    self.addObserver(b.didBeginContactWithNode? != nil, name: "SKC_didBeginContactWithNode", self.node) { [weak self] notification in
       if let x = self { if x.isEnabled {
         let contact = notification.userInfo!["contact"] as SKPhysicsContact
         let node    = notification.userInfo!["node"] as SKNode

  */
  
  public func didFinishUpdate() {
    NSNotificationCenter.defaultCenter().postNotificationName("didFinishUpdate", object: self)
  }
  
  
  public func didBeginContact(contact: SKPhysicsContact) {
    NSNotificationCenter.defaultCenter().postNotificationName("didBeginContact", object: self, userInfo: ["contact" : contact])
    let nodeA = contact.bodyA.node!
    let nodeB = contact.bodyB.node!
    NSNotificationCenter.defaultCenter().postNotificationName("didBeginContactWithNode", object: nodeA,
      userInfo: ["contact" : contact, "node" : nodeB])
    NSNotificationCenter.defaultCenter().postNotificationName("didBeginContactWithNode", object: nodeB,
      userInfo: ["contact" : contact, "node" : nodeA])

  }
  
  public func didEndContact(contact: SKPhysicsContact) {
    println(contact)
    println("LOL")
    let v = NSValue(nonretainedObject: contact)
    let q = ["contact" : v]
    NSNotificationCenter.defaultCenter().postNotificationName("didEndContact", object: self,
      userInfo: q)
    
    let nodeA = contact.bodyA.node!
    let nodeB = contact.bodyB.node!
    NSNotificationCenter.defaultCenter().postNotificationName("didEndContactWithNode", object: nodeA,
      userInfo: ["contact" : contact, "node" : nodeB])
    NSNotificationCenter.defaultCenter().postNotificationName("didEndContactWithNode", object: nodeB,
      userInfo: ["contact" : contact, "node" : nodeA])
  }
  

      }
    }
    
    self.addObserver(b.didEndContactWithNode? != nil, name: "SKC_didEndContactWithNode", self.node) { [weak self] notification in
      if let x = self { if x.isEnabled {
        let contact = notification.userInfo!["contact"] as SKPhysicsContact
        let node    = notification.userInfo!["node"] as SKNode
