     }
 }
 
+/**
+ * A class to be used as singleton - `ReactantLiveUIManager.shared`.
+ *
+ * Manages ComponentDefinitions and sends an event every time a componentDefinition gets updated, this is achieved through Watchers that notify the manager when a file changes.
+ */
 public class ReactantLiveUIManager {
+    /// Shared instance of the `ReactantLiveUIManager`.
     public static let shared = ReactantLiveUIManager()
 
     private var configuration: ReactantLiveUIConfiguration?

        loadStyles(configuration.commonStylePaths)
    }

    public func extendedEdges<UI: UIView>(of view: UI) -> UIRectEdge where UI: ReactantUI {
        return extendedEdges[view.__rui.xmlPath] ?? []
    }

    public func reloadFiles() {
        guard let rootDir = configuration?.rootDir else { return }
        guard let enumerator = FileManager.default.enumerator(atPath: rootDir) else { return }

            .addDisposableTo(disposeBag)
    }

    /**
     * Method used to unregister a view from Watchlist.
     * - parameter ui: `ReactantUI` view to be unregistered
     */
    public func unregister<UI: UIView>(_ ui: UI) where UI: ReactantUI {
        let xmlPath = ui.__rui.xmlPath
        guard let watcher = watchers[xmlPath] else {
