Changed how some of the data objects handle being saved. Allows for more flexibility at the step definition level. Some other minor code cleanup.