還原 View 裡面的邏輯，因為 PresentationModel 不適合處理 io
Adjust coding style