REMOVED would fit both descriptions.

In order for me to follow the minimal diffs I used a spot in CB where the overall "loss" of the effect (due to whatever cause). If you want I could track it down to where all the possible remove causes are and use those instead. 

Because of the constructor of this event (I'm not too fond of a second constructor) the cause would be null where CB would fire a loss. Due to the above, the simple "removed" hook would have no explicit cause, so a null cause would need to be passed for a LOSS cause (assuming the LOSS enum is missing). 

TL;DR: 

REMOVED could work.
Minimal diffs = No "advanced" lost causes (milk, etc). Can fix if needed (add MILK, EXPIRED, etc).
The cause would be null if the CURRENT CB implementation was kept and the LOSS enum removed.