Add backend abstraction.