 public protocol ModalCoordinator: DefaultCoordinator {
     func configure(viewController: ViewController)
     var sourceViewController: UIViewController { get }
-    weak var destinationNavigationController: UINavigationController? { get }
+    var destinationNavigationController: UINavigationController? { get }
 }
 
 public protocol TabBarItemCoordinator: DefaultCoordinator {
     func configure(viewController: ViewController)
     var tabBarController: UITabBarController { get }
-    weak var destinationNavigationController: UINavigationController? { get }
+    var destinationNavigationController: UINavigationController? { get }
 }
 
 public enum PresentationStyle {


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

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

public protocol PushCoordinator: DefaultCoordinator {

    func configure(controller: ViewController)
    var navigationController: UINavigationController? { get }
    var presentationStyle: PresentationStyle { get }
    var destinationNavigationController: UINavigationController? { get }
}

public extension DefaultCoordinator {
