I'd like to avoid forking this class. Is there a reason why we must do that?