web: implement settings store, modularize store