Description
TraceRunnable/Callable both take a parent TraceScope and extract the span Id from it when executing the task. Instead, we should allow users to create custom TraceRunnable/Callable instances with only a SpanId instead of a full TraceScope, for instance when reading a span id from an RPC call and a TraceScope object is not available.