 
 extension ContainerViewController {
 
+	///
 	open override func show(_ viewController: UIViewController, sender: Any?) {
 		self.push(viewController, animated: UIView.areAnimationsEnabled)
 	}
 
+	///
 	open override func showDetailViewController(_ viewController: UIViewController, sender: Any?) {
 		self.show(viewController, sender: sender)
 	}

		// Proceed with a transion if possible otherwise alter the stack directly
		// and drive with the default behaviour
		if self.canAnimateTransition() {
			// Create and fire a new set event
			var event = Event(operation: Operation(kind: .set(newStack), isAnimated: animated),
			                  position: .start,
			                  containerViewController: self)
			self.eventsSubject.onNext(event)
			// Alter the stack
			self.viewControllerStack = newStack
			// Alter the event position to `.end` before firing a new one
			event.position = .end
			self.eventsSubject.onNext(event)
			// Extract view controllers for the transition
			guard let fromViewController = oldStack.last, let toViewController = newStack.last else { return }
			// Determin context kind

}

extension ContainerViewController {

	///
	func sendEvents(for operation: Operation, stackManipulation: () -> Void) {
		// Create and fire a new event
		var event = Event(operation: operation, position: .start, containerViewController: self)
		self.eventsSubject.onNext(event)
		// Alter the stack
		stackManipulation()
		// Alter the event position to `.end` before firing a new one
		event.position = .end
		self.eventsSubject.onNext(event)
	}

	///
	func performSetAfterInit(_ viewControllers: [UIViewController]) {
