In some embodiments, shelves are used to implement different rules for saving programs.
Programs associated with one shelf may be deleted after one day, while programs associated with another shelf may be saved until the user explicitly deletes them.