All are private (implementation detail). The setup should be called in init (for views) or in viewDidLoad (for view controllers). The update should be called in the viewModels didSet. The setupViewModelBindings should be called (if even existent) at the beginning of the setup method. Provide a full example.