Why do we need to override the method defined in BaseHandlerFactory?