Updated Program and Subprogram classes to better filter input and output
into the object