✅ delegate and event IMPLEMENTATION question..
why do we have to create separate class for delegates/events?

Func<> and Action<> though, they're just defined inside the System namespace.Video is meant to contain data about a single video, so wouldn't make sense to have an event there
Video, then suddenly what is meant to just be data about a video contains state which isn't related to the video at all.Encode is void and for some reason needs an event. If I was making this this is certainly not how I would do it, but then again it's just for demonstration.