schema should expose system state and backend-neutral capabilities