Achieving IoC in the absence of a container