1. Not sure what you really mean unless you provide us with some more details
2. A RemoteDataSource should generally not have a dependency on a Repository
3. Your UI architecture (MVVM) shouldn't have an influence the way you architecture your data flow, since they have both seperate responsibilities