public virtual async Task <string> RegisterStream(IMetadataStream stream, DateTime?startTime = null)
        {
            if (!stream.IsRunning)
            {
                await stream.Start(startTime);
            }

            var id = Guid.NewGuid().ToString();

            _streams.TryAdd(id, stream);

            return(await Task.FromResult(id));
        }