 }
 
 protocol PlayerControls: class {
-    //This func should play as it is if player.playerItem is NIL, then if there is item(ie.AVPlayerItem) you should replace with current one.
     func play(with resource: VideoResource)
     func play()
     func pause()

            DispatchQueue.main.async { [weak self] in
                guard let strongSelf = self else { return }
                strongSelf.player = existingPlayer
                /*if existingPlayer.observationInfo != nil {
                    strongSelf.removeObservers(for: existingPlayer)
                }*/
            }
        } else {
            //player = AVPlayer(url: url)
            let asset = AVAsset(url: url)
            playerItem = AVPlayerItem(asset: asset)
            player = AVPlayer(playerItem: playerItem)

    }
}

// MARK: - Protocol | PlayerControls
extension IGPlayerView: PlayerControls {
    
    func play(with resource: VideoResource) {
