Not sure if Web is the right name...  Could we perhaps have a class per protocol and push the plist/html generation into some utility classes (e.g., It would be nice to have S3 as a separate implementation, but would like to make use of the same plist/html stuff)