     public init<T: UICollectionViewCell, U>(cellClass: T.Type,
                                  modelType: U.Type,
                                  cellConfiguration: @escaping ((T, IndexPath, U) -> Void),
-                                 mappingBlock: ((ViewModelMapping) -> Void)?)
+                                 mapping: ((ViewModelMapping) -> Void)?)
     {
         viewType = .cell
         viewClass = cellClass

            }
            return nil as Any? as Any
        }
        mappingBlock?(self)
    }
    
    public init<T: UICollectionReusableView, U>(supplementaryClass: T.Type,
                                                kind: String,
                                 modelType: U.Type,
                                 supplementaryConfiguration: @escaping ((T, String, IndexPath) -> Void),
                                 mappingBlock: ((ViewModelMapping) -> Void)?)
    {
        viewType = .supplementaryView(kind: kind)
        viewClass = supplementaryClass

            }
            return nil as Any? as Any
        }
        mapping?(self)
    }
    
    public init<T: ModelTransfer>(supplementaryClass: T.Type,
                                  kind: String,
                                 supplementaryConfiguration: @escaping ((T, String, IndexPath) -> Void),
                                 mapping: ((ViewModelMapping) -> Void)?)
        where T: UICollectionReusableView
    {
        viewType = .cell
