     
     public required init(){}
     
-    public init(_ initializer: Section -> ()){
+    public init(@noescape _ initializer: Section -> ()){
         initializer(self)
     }
 
-    public init(_ header: HeaderFooterView<UIView>, _ initializer: Section -> () = { _ in }){
+    public init(_ header: HeaderFooterView<UIView>, @noescape _ initializer: Section -> () = { _ in }){
         self.header = header
         initializer(self)
     }
     
-    public init(header: HeaderFooterView<UIView>, footer: HeaderFooterView<UIView>, _ initializer: Section -> () = { _ in }){
+    public init(header: HeaderFooterView<UIView>, footer: HeaderFooterView<UIView>, @noescape _ initializer: Section -> () = { _ in }){
         self.header = header
         self.footer = footer
         initializer(self)
     }
     
-    public init(footer: HeaderFooterView<UIView>, _ initializer: Section -> () = { _ in }){
+    public init(footer: HeaderFooterView<UIView>, @noescape _ initializer: Section -> () = { _ in }){
         self.footer = footer
         initializer(self)
     }
     
-    public convenience init(_ header: String, _ initializer: Section -> () = { _ in }){
+    public convenience init(_ header: String, @noescape _ initializer: Section -> () = { _ in }){
         self.init(HeaderFooterView(stringLiteral: header), initializer)
     }
     
-    public convenience init(header: String, footer: String, _ initializer: Section -> () = { _ in }){
+    public convenience init(header: String, footer: String, @noescape _ initializer: Section -> () = { _ in }){
         self.init(header: HeaderFooterView(stringLiteral: header), footer: HeaderFooterView(stringLiteral: footer), initializer)
     }
     
-    public convenience init(footer: String, _ initializer: Section -> () = { _ in }){
+    public convenience init(footer: String, @noescape _ initializer: Section -> () = { _ in }){
         self.init(footer: HeaderFooterView(stringLiteral: footer), initializer)
     }
     


extension RowType where Self: BaseRow, Cell : TypedCellType, Cell.Value == Value {
    
    public init(_ tag: String? = nil, _ initializer: (Self -> ()) = { _ in }) {
        self.init(tag: tag)
        RowDefaults.rowInitialization["\(self.dynamicType)"]?(self)
        initializer(self)

        presentationMode = .Show(controllerProvider: ControllerProvider.Callback { return VCType() }, completionCallback: { vc in vc.navigationController?.popViewControllerAnimated(true) })
    }
    
    public required convenience init(_ tag: String, @noescape _ initializer: (GenericMultipleSelectorRow<T, VCType> -> ()) = { _ in }) {
        self.init(tag:tag)
        RowDefaults.rowInitialization["\(self.dynamicType)"]?(self)
        initializer(self)
