Added infrastructure classes and tests.