     scrollView.contentSize = layout.extra as! CGSize
     
     // Now we mount our children
-    let componentContext = context()
     // todo: this is terrible, need to fix it
     componentContext.untypedMountInfo.mountContext = mountContext
-    mountChildren()
+    mountChildren(componentContext)
     
     return MountContext(view: mountContext.view,
                         position: mountContext.position,

                    position: CGPoint) -> MountContext {
    mountedArguments = (parentView: parentView, layout: WeakContainer(layout), position: position)
    
    let mountContext = StandardMountLayout(parentView: parentView,
                                           layout: layout,
                                           position: position,
                                           config: self.view(),
                                           componentContext: self.context())
    
    let scrollView = mountContext.view as! UIScrollView
    scrollDelegate = InternalScrollDelegate(layout: layout)

                  incrementalContext: incrementalMountContext)
  }
  
  private func mountChildren(_ componentContext: ComponentContextProtocol) {
    guard let mountedArguments = mountedArguments else {
      assertionFailure()
      return
