[Client] Keep track handle status
[Client] Emit StatusChanged event
[Internal] Add EventSource class