setup broadcaster to send separate event types (complete, error, citation, and message) back to the client. Made tweaks to fix tests.