message should be nullable on engines, not always needed