refactor: move reposibilities
refactor: extract drawing to View class