Context sequence theory: a common explanation for multiple types of learning