The BusinessLayer class should provide the following abstract methods:
The implementing business object classes should return a new QueryInformation object initialized with the appropriate QueryType and stored procedure settings and all of the field and table properties already initialized based on the underlying data structure.
This would greatly simplify generation of QueryInformation objects when writing code and facilitate their use querying.