More research leads me to believe that we'll need to restructure the code for this project as well.  I'd prefer to break that out in a separate PR after this goes in.  Otherwise, we'll have a pretty crappy diff for this PR.