Introduced Interfaces for the ViewModels to promote reuse