Use built-in Java util observer pattern
Removed docs
Regen parser
Updated todo
Refactored IfThenElse and Elseifs