Let expect_action accept empty path and an exception to raise
Add custom error classes for backend client
Use error handlers to provide nicer error messages