     
     Override this function to initialize subviews, set default values, etc.
     */
-    func setup() {
+    public func setup() {
         // Abstract method.
     }
     

    
    Override this function to add layout constraints for all the subviews.
    */
    func setupConstraints() {
        // Abstract method.
    }
}

/**
    BaseView acts as a common base for all custom views
*/
@objc public class BaseView: UIView {

    public private(set) var isSetup: Bool = false


    // MARK: - Initialisers
    
    override public init(frame: CGRect) {
        
        super.init(frame: frame)
        
