     private var sizer = Sizer()
     private var cache = [Key: CGSize]()
 
-    func sizeFor(
+    public init() {}
+
+    public func sizeFor(
         viewModel: Sizer.ViewModel,
         width: Sizer.Dimension = .compressed,
         height: Sizer.Dimension = .compressed,

import UIKit

final class CollectionReusableViewSizer<View: UICollectionReusableView & ReusableViewModelView> {

    typealias ViewModel = View.ViewModel

    enum Dimension: Hashable {

        case compressed
        case expanded


    private lazy var view = View()

    public init() {}

    public func sizeFor(
        viewModel: ViewModel,
        width: Dimension = .compressed,
        height: Dimension = .compressed,
