Assessment refactoring

See commit messages for specific steps taken