Working ActionListener, no idea why I named it handler, it might handle
all actions eventually.