introduce the ArchivedProgramComponent
AJAX major refactoring for DRY view and more consistent controller behavior