WIP - modified abstraction
WIP - modified abstraction - introduced viewModel
WIP - modified abstraction - modified githubViewModel
modified abstracion - improved code testibility