it should be possible to keep track of the last event like this. My initial thought was to make it a transient field and have it reconstructed by event sourcing, but then you’d have a problem if the aggregate is reconstructed (directly) from a snapshot.
Since domain events are (read: should be) serializable, doing it like this should not get you in trouble. I haven’t tried yet, though.