 
     var waverCallback: ((waver: Waver) -> ())? {
         didSet {
+            displayLink?.invalidate()
             displayLink = CADisplayLink(target: self, selector: #selector(Waver.callbackWaver))
-            displayLink.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes)
+            displayLink?.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes)
             
             (0..<self.numberOfWaves).forEach { i in
                 let waveline = CAShapeLayer()

    }

    deinit {
        displayLink.invalidate()
    }
    
    required init?(coder aDecoder: NSCoder) {


final class Waver: UIView {
    
    var displayLink: CADisplayLink?
    
    var numberOfWaves: Int = 5
    
