public virtual void OnGain(PlayContext ctx) { }
public virtual void OnPlay(PlayContext ctx) { }
public virtual void OnDiscard(PlayContext ctx) { }