Avoided swizzling with Objective-C - yet I seem to have no issues doing it with Swift. WHY?!
Add physics contacts and update callbacks.
Using NSPointerFunctionsOpaquePersonality for sprite as keys.
SpriteNodes will change their hash (losing equality) when changing position and/or physical attributes.
call didAddNodeToScene when adding componenets if there is a scene.
Adding internalDidBeginContact
A collision is spread to the scenes components.
The related nodes components
The nodes AND the componenets of the nodes.
Repeat same pattern to didEndContact.
Added tupleHandlerContact to return components and nodes.
-    let nodeB = contact.bodyA.node
+    let nodeB = contact.bodyB.node
Train coding. Adding sample componenets.
Hmm, can't inherit classes with Component protocol.
Update to Swift (Xcode 6.1) syntax
Don't set node to nil when removing component.
TODO: Handle touch events and bubbling (or trickling?) up (or down?) on components.
Add specific and global contactListener. WIll do the same for touch.
separate ComponentBehaviour and Component
Setting up initial notification center.
Using scene as sender.
Add observers to node property to call didAddToNode and didAddtoScene.
Setup callbacks for the observers.
Update samples.
Add designated initializer.
Remove final keywords (as it won't work with Swizzling)
Bug with PKPhysicsContact != SKPhysicsContact
prefix all notification names.