Added a way for errors to be communicated to whatever is connected to the backend using the Error class.  This Error object is then passed back to the gui through use of C# delegates (aka callbacks), whoever ends up doing the threading you are welcome sir...