Split query/command interfaces into separate interfaces for async vs synchronous interfaces