 open class AbstractCollectionViewCell : UICollectionViewCell, AbstractCellProtocol, ObserverModelProtocol{
     
     open weak var delegat: NSObject?
-    open weak var viewModel: AbstractViewModel?{
+    open weak var viewModel: AbstractViewModel? {
         didSet {
             oldValue?.unregisterObserver(self)
             viewModel?.registerObserver(self)
+            self.fillWithViewModel(viewModel)
         }
     }
     
     
-    open func fillWithViewModel(_ viewModel: AbstractViewModel) {
+    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}
    

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