def copy(changes = {})
              if [:hour, :minute, :second].any?{|x| changes.include?(x) }
                changes[:value] = [changes.fetch(:hour, @hour),
                                   changes.fetch(:minute, @minute),
                                   changes.fetch(:second, @second)]