branches/fault: different callbacks for different messages