         state = .setuped
         loadDate = nil
         
-        updateOutput()
+        if updateOutputOnLoad {
+            updateOutput()
+        }
         
         if let observer = observer {
             observer.viewModelDidUnload(self)

        state = .loaded
        loadDate = Date()
        
        updateOutput()
        
        if let observer = self.observer {
            observer.viewModelDidLoad(self)

    // MARK: Public Properties
    //
    
    // If ViewModel should update it's output on loading states.
    public var updateOutputOnLoad = true
    
    public private(set) weak var parent: ViewModel?
    
    // Observer of view model, usually a controller or a view
