public Object fetchObject(String name) {
    return this.objectRegistry.get(name);
  }
This class is used for passing objects around for the implementation of the high-level API.
1) Container for objects that need to be passed between different components in the implementation of the high-level
API.
2) The implementation of the high-level API is built on top of the low-level API. The low-level API only exposes
{@link TaskContext}, but the implementation of the high-level API needs some other internal Samza components (e.g.
{@link StreamMetadataCache}. We internally make these components available through {@link TaskContextImpl} so that we
can do a cast to access the components. This class hides some of the messiness of casting. It's still not ideal to
need to do any casting, even in this class.
samza-core/src/main/java/org/apache/samza/context/InternalTaskContext.java