This commit changes several ContainerMethods to take in a context. It
also changes all IOMethods to take in a context.
This addition adds consistency to the API as well as allowing better
graceful cancellation and cleanups if needed when, for example, the user
wants to discard an ongoing process.