 
 class MainViewController: UIViewController {
 
+    // MARK: Properties
+
     @IBOutlet weak var contentView: UIView!
     @IBOutlet weak var menuBackground: UIImageView!
 
     private var viewControllerStack = [UIViewController]()
+    private var isProcessingTransition = false
 
-    private var isProcessingTransition = false
+    // MARK: UIViewController
 
     override func viewDidLoad() {
         super.viewDidLoad()

            isProcessingTransition = false
        }
    }

    func transitionInto(newScreen: Screen, from oldVC: UIViewController) {
        guard !isProcessingTransition else {

            transitionOut(from: oldVC, downLevels: 1)
        }
    }

    /**
     Transition out from the specified view controller by the specified number.
     
     - parameters:
        - from/oldVC: The current view controller which you wish to transition out from
        - downLevels/times: The number of levels to go back, e.g. for a stack of
          `[A, B]`, transitioning out 1 time from B means the screen is now at A
     */

    func transitionOut(from oldVC: UIViewController, downLevels times: Int) {
        guard !isProcessingTransition else {
