The Backends-For-Frontends Pattern