增加了Log相关部分，把State提取出一个enum类型，免得以后每次变更状态都要重新核对对应的int数字；把一些goal和task共同的属性、方法提取到了父类ElementMachine中。