Foundation for changes

Here is the foundation for the request and result objects that everything will be based on.  It is slightly tweaked from the previous branch.

For each request action I will create a branch from this point.

Thanks for taking the time to review!