MVVMbase MVVM architecture Libraries Dagger2 Room RxJava RxAndroid RxKotlin Navigation Retrofit DataBinding