For this I was thinking of giving Puppet::ModuleTool::Tar::Gnu

````
def initialize(command = "tar")
  @command = command
end

def unpack(...)
  ...execute("#{@command} ... ")
end
````

And then replacing the solaris impl with

````
class Puppet::ModuleTool::Tar::Solaris < ...Gnu
  def initialize
    super("gtar")
  end
end
````