Create method to return an instance of a pass thru program.
Use a single sharegroup for all contexts. Make the programs array property settable.