Use a viewmodel

Completed