DataEngine now has a dedicated setErrorConsumer() method to set an error handler independently of ProgressListener
Removed onError() method from ProgressListener, use separate Consumer instead
TODO updated