We now use a custom, checked exceptions on errors that can occur with the API communication or configuration. instead of throwing an unchecked IllegalStateException.