Extract Fun interface to support Java 8 closures.
Added changing shell with buttons from UI.