add CDATA tags to manifest
refactoring to get commit calls happening in the best place possible
ensure commit is called after the course first gets set to incomplete