changed structure, Observer pattern added, output format modified,
onclose events added
added functionality of set, inc and dec buttons, implement redo function