moved gui update to a separate actor