         }
     }
     
+    /**
+     Associates each Presentr type with a default transition type, in case one is not provided to the Presentr object.
+     
+     - returns: Return a 'TransitionType' which describes a system provided or custom transition animation.
+     */
     func defaultTransitionType() -> TransitionType{
         switch self {
         case .Alert, .Popup, .BottomHalf:

            return UIModalTransitionStyle.CrossDissolve
        case .FlipHorizontal:
            return UIModalTransitionStyle.FlipHorizontal
        case .PartialCurl:
            return UIModalTransitionStyle.PartialCurl
        default:
            return nil
        }

}

/**
 Describes the transition animation for presenting the view controller. Includes the default system transitions and custom ones.
 
 - CoverVertical:            System provided transition style. UIModalTransitionStyle.CoverVertical
 - CrossDissolve:            System provided transition style. UIModalTransitionStyle.CrossDissolve
 - FlipHorizontal:           System provided transition style. UIModalTransitionStyle.FlipHorizontal
 - CoverVerticalFromTop:     Custom transition animation. Slides in vertically from top.
 - CoverHorizontalFromLeft:  Custom transition animation. Slides in horizontally from left.
 - CoverHorizontalFromRight: Custom transition animation. Slides in horizontally from  right.
 */
public enum TransitionType{
    
    // System provided
    case CoverVertical
    case CrossDissolve
    case FlipHorizontal
    // Custom
    case CoverVerticalFromTop
    case CoverHorizontalFromLeft
    case CoverHorizontalFromRight
    
    /**
     Matches the 'TransitionType' to the system provided transition. If this returns nil it should be taken to mean that it's a custom transition, and should call the animation() method.
     
     - returns: UIKit transition style
     */
    func systemTransition() -> UIModalTransitionStyle?{
        switch self {
        case .CoverVertical:
