                     
                     // within range of center container
                     if currentXOffset.constant < (horizontalSnapThresholdFraction * view.frame.size.width) {
-                        showEmbeddedView(.center)
+                        showEmbeddedView(position: .center)
                     }
                         
                         // within range of left container
                     else if currentXOffset.constant > ((1.0 - horizontalSnapThresholdFraction) * view.frame.size.width) {
-                        showEmbeddedView(.left)
+                        showEmbeddedView(position: .left)
                     }
                         
                         // center region: depends on inertia direction
                     else {
                         // pulled right
                         if previousNonZeroDirectionChange.dx > 0.0 {
-                            showEmbeddedView(.left)
+                            showEmbeddedView(position: .left)
                         }
                             
                             // pulled left
                         else {
-                            showEmbeddedView(.center)
+                            showEmbeddedView(position: .center)
                         }
                     }
                 }


public protocol EmbeddedViewControllerDelegate: class {
    // delegate to provide information about other containers
    func isContainerActive(_ position: Position) -> Bool
    
    // delegate to handle containers events
    func onDone(_ sender: AnyObject)
    func onshowEmbeddedView(_ position: Position, sender: AnyObject)
}

open class SwipeNavigationController: UIViewController {

    }
    
    // MARK: - EmbeddedViewcontrollerDelegate Conformance
    open func isContainerActive(position: Position) -> Bool {
        let targetOffset: CGVector
        switch position {
        case .center:
