Refactored out ErrorHandler class to be more easily readable, added documentation, removed unnecessary exception class, fixed minor bug with variable arity methods and suggestions.