Users of the API should really never use `program_base_t` themselves. So, let us move it into the detail namespace.