         didSet {
             oldValue?.unregisterObserver(self)
             viewModel?.registerObserver(self)
+            self.fillWithViewModel(viewModel)
         }
     }
     
     // MARK: Abstract Cell Protocol Methods
-    open func fillWithViewModel(_ viewModel: AbstractViewModel) {
+    open func fillWithViewModel(_ viewModel: AbstractViewModel?) {
         
     }
     

open class AbstractCollectionViewCell : UICollectionViewCell, AbstractCellProtocol, ObserverModelProtocol{
    
    open weak var delegat: NSObject?
    open weak var viewModel: AbstractViewModel?{
        didSet {
            oldValue?.unregisterObserver(self)
            viewModel?.registerObserver(self)
        }
    }
    
    
    open func fillWithViewModel(_ viewModel: AbstractViewModel) {
        
    }
    

// MARK: - ====== Abstract Cell Protocol ======
public protocol AbstractCellProtocol {
    
    func fillWithViewModel(_ viewModel: AbstractViewModel?)
    weak var viewModel: AbstractViewModel? {get set}
    weak var delegat: NSObject? {get set}
    
