     
     override func spec() {
         
+        typealias DictMeta = Dictionary<String, String>
+        
         describe("View component") {
             it("should build a viewController") {
                 let component = Component.view(builder: { _ in UIViewController() }, meta: nil)

            }
            
            it("should pass metadata to the builder") {
                var value: FakeMeta? = nil
                let builder: Component.ClusterBuilder = { (_, meta) in
                    value = meta as? FakeMeta
                    return UIViewController()
                }
                
                _ =  Component.cluster(builder: builder,
                                       children: [randComponent()],
                                       meta: FakeMeta("meta")).viewController()
                
                expect(value) == FakeMeta("meta")
            }
            
            it("should have the correct metadata") {
                let component =  Component.cluster(builder: { _ in UIViewController() },
                                                   children: [randComponent()],
                                                   meta: FakeMeta("meta"))
                
                expect(component.meta as? FakeMeta) == FakeMeta("meta")
            }
        }
    }

            }
            
            it("should pass metadata to the builder") {
                var value: ComponentMeta? = nil
                _ = Component.view(builder: { (meta) in
                    value = meta
                    return UIViewController()
                }, meta: ["foo": "bar"]).viewController()
                
                expect(value as? DictMeta) == ["foo": "bar"]
            }
            
            it("should have the correct metadata") {
                let component = Component.view(builder: { _ in UIViewController() },
                                               meta: ["foo": "bar"])
                
                expect(component.meta as? DictMeta) == ["foo": "bar"]
            }
        }
        
