JSON errors are returned, success and failure callbacks added, lots of tests