Separate some functionality into a viewmodel