A programming language is extended to have embedded interpretive types that define objects and variables to be resolved at translation time. Sets of objects can be grouped into themes to provide a user with a distinct overall impression of the interface. The plurality of test objects is generated using derived classes that are based on a base test class and each of the plurality of test objects corresponds to a separate block in a Device Under Test.