issue #9: fallback handling is differs between sync and observer responses; decouple from error handling