Use fireMessage. to return promise