Introduces invoke, and move install to prg.install().