Currently types of resources, assertions and transitions are expressed as enum types, but this limits the specializations that can be used to just those defined in the enums. The specializations need to be externalized to config, and loaded dynamically.
The configuration could be hard-coded to start with, and later externalized to file in the form of a properties file or a XML file.
Types current expressed in enum form are:
Database Row Exists: Passes if exactly one row is identified by the supplied SELECT query
Database Row Does Not Exist: Passes if no rows are returned by the supplied SELECT query