def install(names)
      change_internal(names, :check_dependencies) do |specs|
        content = File.read(wagonfile) rescue ''
        wagonfile_update(specs)

        begin
          setup_wagons(specs)
        rescue => e
          wagonfile_write(content)
          raise e
        end
      end
    end
def install(names)
      change_internal(names, :check_dependencies) do |specs|
        content = File.read(wagonfile) rescue ''
        wagonfile_update(specs)

        begin
          setup_wagons(specs)
        rescue => e
          wagonfile_write(content)
          raise e
        end
      end
    end
Install or update the wagons with the given names. I.e., adds the given
 wagon names to the Wagonfile and runs rake wagon:setup.
 After that, the application MUST be restarted to load the new wagons.
 Returns nil if everything is fine or a string with error messages.
 This method requires open4.