Updated draft before it expired. Added implementation details and a few other nits.