New Error class is not an good idea, can we just use error.TestError or error.TestFail here?