Update Test structure with properties.

Using properties makes the code a bit more separated while maintaining
the long list of things we need to track inside a particular test.