refactor MovesContext with delegate methods