Make the logger and eventBus transient
Be less strict if a connections times out while looking for a lamp.
Add a dataBoundConstructor to facilitate un-marshaling of Lamp objects
Timeout on Socket.connect()
Revamp the whole UI.

It now uses AngularJS.