gancho de evento (change) em angular2

Eu sei sobre a (mudança)event Binding em angular2, mas estou surpreso por que meu código não está funcionando como esperado?

Meu código está aqui ..

http://plnkr.co/edit/9pSWSeqBc5oaSAtsfwNY?p=preview

Quando o evento de mudança é chamado, as duas condições não funcionam conforme o esperado.

(change)="holiday= !holiday && employee= !employee"

Quando o evento de alteração é chamado na primeira vez que funciona bem, mas na segunda vez funciona apenas na primeira condição, ou sejaholiday. No meu exemplo, o que eu esperava é que o valor seja verdadeiro ou falso, mas não o esperado.

Certamente há algum erro. Existe alguém que possa explicar o ciclo de vida do(change) evento corretamente?

questionAnswers(1)

yourAnswerToTheQuestion