Adds key value integration tests

This PR primarily adds KV integration tests, but also fixes some parts of the existing KV integration

For tests this PR adds a reset method for the container
Should use static:: instead of self - unless we really want to force self.