Swing in a better world: java interfaces