bugfix + refactoring : 'error' callback on defaultComplete can not be empty
as it is defined above if empty
but it still may not be callable