triggers have access to a list of states so there is not only the last
and the current value available