Discrete character evolution