I guess 2 questions:
1. Why do we have `doError` and `errorMsg` since one just delegates to the other?
2. What happens when we're sending an error, but the user doesn't have the console visible (since most users won't?)

All of the places where we're logging an error that causes a lack of functionality, we should be alerting the user to what's going on.
So having a console.error show when you go to call someone wouldn't be enough (we should instead present some sort of notice in the UI).