MainViewModelに詰め込んでいた機能を別クラスに分離