Refactor: Support multiple services backends and types.