Wharehouse C# events

Because an observer is not alway the best pattern