H1: use enum in Changer to store state. Boxing
H1: use the maven directory layout. Boxing