void SubscribeTelemetryEvents()
        {
            events
            .Of <object>()
            .Where(ev => ev.IsBrowsable())
            .Subscribe(x => {
                var ev = x as Event;

                if (ev == null)
                {
                    var eventName  = x.GetName();
                    var properties = x.GetProperties();
                    var metrics    = x.GetMetrics();

                    telemetry.TrackEvent(eventName, properties, metrics);
                }
                else
                {
                    telemetry.TrackEvent(ev.Name, ev.Properties, ev.Metrics);
                }
            });

            events
            .Of <TelemetryError> ()
            .Subscribe(err => {
                telemetry.TrackError(err);
            });
        }