create generic backend to cut dependency on daemon Upstream-commit: c6c7d5870c8fcc9c569455e6fe340c5db070a4a5 Component: engine