Moved program data management behind ProgramManager class