A web calculator that demonstrates state pattern (and a little bit of ajax...)