     func configure(controller: ViewController)
     var navigationController: UINavigationController? { get }
     var presentationStyle: PresentationStyle { get }
-    weak var destinationNavigationController: UINavigationController? { get }
+    var destinationNavigationController: UINavigationController? { get }
 }
 
 public extension DefaultCoordinator {

    }

    // default implementation of nil delegate, should be overriden when needed
    weak var delegate: CoordinatorDelegate? {
        get {
            return nil
        }


public protocol DefaultCoordinator: Coordinator {
    associatedtype ViewController: UIViewController
    var viewController: ViewController? { get }

    var animated: Bool { get }
    var delegate: CoordinatorDelegate? { get set }
}

public protocol PushCoordinator: DefaultCoordinator {
