Regarding grading. If we need to grade objects besides surveys, it looke like we need a general LMS-grading package. This package would provide a data model and UI to allow grades to be attached to any acs object.
I really like the idea of service based packages used to build up an application.