Responsible for building up structures that can be used by a number of different classes. The first instance builds an expression based on some input criteria.