buttonLayout now uses JSON
buttonlayout remembers config, config is updateable