Please avoid using global magic variables like `$?` as they are usually not thread-safe and they're difficult to read.  `Puppet::Util::Execution.execute` should eliminate the need for `$?`.