Introduce abstraction layer for web backends