 extension Coordinator: Coordinable {
 	///	Returns either `parent` coordinator or nil if there isn‘t one
 	open var coordinatingResponder: Coordinable? {
-		return parentCoordinator
+		return parentCoordinator as? Coordinable
 	}
 }
 


open class Coordinator<T> {
	/// A callback function used by coordinators to signal events.
	public typealias Callback = (Coordinator<Any>) -> Void


	/// The root view controller for a coordinator.

		static var ParentCoordinator = "ParentCoordinator"
	}
	///	*Must* be set for View Controller acting as Coordinator.rootViewController
	open var parentCoordinator: Any? {
		get {
			//	DANGER: this returns Any! so if you call this and
			//	object is not really there, your app will crash
			return objc_getAssociatedObject(self, &AssociatedKeys.ParentCoordinator) as? Any
		}
		set {
			objc_setAssociatedObject(self, &AssociatedKeys.ParentCoordinator, newValue, .OBJC_ASSOCIATION_RETAIN)
