Fixes #5 - Introduce @Throw for fail callback