Added additional abstraction for ContainerResult to allow storage of desired type as a type argument.
Reverted to older implementation of IContainerResult due to apparent performance improvements (10ms according to NUnit)