Update: GeneralDataLoadingViewModel now can handle state changes and result of data source. Previously it was possible only in view controller.
Add: GeneralDataLoadingHandler protocol, that defines methods for common data loading states handling.
Add: resultObservable and resultDriver properties to GeneralDataLoadingViewModel.
Add: hidesWhenStopped option to SpinnerView, so you can stop animation without hiding image inside it.
Update: Migrate to Swift 4.2 & Xcode 10. Update dependencies.
Add: TableDirector methods for rows insertion and removal without reload a whole table.
Add: UIImageView binder for disclosure indicator rotation.
Add: UIView.addSubviews(:) methods with variable number of arguments and array of views.
Add: PlaceholderConfigurable that defines attributes and methods for view with placeholder and regular state.
Add: ContentLoadingViewModel enum that describes possible PlaceholderConfigurable view states.