Why is the view model referencing the service in the first place? Can't this be done from the outside? Like an extension method?