Revert previous front-end API changes + Cherry-pick fixes from master
This MR reverts changes previously applied to the front-end API, in order to minimize divergence on the front-end side when the new backend is introduced.
This MR furthermore reapplies !377 (merged) and !382 (merged) onto the development branch.