     // MARK:- UIPBaseTableViewCellProtocol
 
 
+    /// Name of this class.
     var nameOfClass:String { get { return "\(type(of:self))" } }
+
+    /// Name of this class (static context).
     static var nameOfClass:String { get { return "\(self)" } }
 
     #if os(iOS) || os(tvOS)
+        /// The height of the row.
         var rowHeight:CGFloat { get { return UITableViewAutomaticDimension } }
+
+        /// The estimated height of the row.
         var estimatedRowHeight:CGFloat { get { return UITableViewAutomaticDimension } }
     #elseif os(macOS)
+        /// The height of the row.
         var rowHeight:CGFloat { get { return -1 } }             // macOS does not have any "Automatic Dimension" yet, -1 will crash and needs therefor to be overridden
+
+        /// The estimated height of the row.
         var estimatedRowHeight:CGFloat { get { return -1 } }    // macOS does not have any "Automatic Dimension" yet, -1 will crash and needs therefor to be overridden
     #endif
 
 
+    ///
+    /// Update the cell view with a model.
+    ///
+    /// - Parameters:
+    ///   - model: The model to update the cell view with.
+    ///   - delegate: The delegate, if any actions are required to handle.
+    ///   - indexPath: Index path of the cell view.
+    ///
     func update(with model:Any, delegate:Any, for indexPath:IndexPath)
     {
         fatalError("[UIPheonix] You must override \(#function) in your subclass!")

    }


    func setContents(with dictionary:Dictionary<String, Any>)
    {
        fatalError("[UIPheonix] You must override \(#function) in your subclass!")

#endif


///
/// The base view controller protocol.
///
protocol UIPBaseViewControllerProtocol
{
    ///
    /// Create a new instance of a view controller with provided dictionary to initialize its contents.
    ///
    /// - Parameter attributes: Dictionary with attributes.
    /// - Returns: A new instance of the view controller.
    ///
    static func newInstance<T:UIPBaseViewControllerProtocol>(with attributes:Dictionary<String, Any>) -> T
}


#if os(iOS) || os(tvOS)

    ///
    /// The base view controller. Subclass this to gain its features.
    /// Example code is provided in this file.
    ///
    class UIPBaseViewController:UIViewController
    {
        /// The provided dictionary with attributes when the view controller was instanced.
        var mPreparedAttributes:Dictionary<String, Any> = Dictionary<String, Any>()


