     }
 }
 
-class KinietaInstance: Kinieta {
+class Kinieta {
     
     static var associatedKey = "KinietaAssociatedKey"
-    enum State {
-        case stopped
-        case moving(start: TimeInterval)
-        case waiting(time: TimeInterval)
-    }
-    var state: State = .stopped
     
     let view:UIView
     init(_ view:UIView) {
         self.view = view
+        KinietaEngine.shared.add(self)
     }
     
     var transformations = [Transformation]()

    private var displayLink: CADisplayLink?
    
    
    private var instances: [KinietaInstance] = []
    
    init() {
        
    }
    
    func add(_ instance: KinietaInstance) {
        
        instances.append(instance)
        


import UIKit


class KinietaEngine {
    
