When changing a DateTime property of a copy of an object, it is also updating the original object. In the below code, when the button is pressed, I expect only the _reminder.dueDate to be updated, but both _reminder.dueDate and widget.reminder.dueDate are being updated at the same time.
import 'package:flutter/material.dart';
import 'package:realminder/models/reminder.dart';
class Test extends StatefulWidget {
  final Reminder reminder; // <-- Original object
  Test({
    @required this.reminder,
  });
  @override
  _TestState createState() => _TestState();
}
class _TestState extends State<Test> {
  Reminder _reminder;
  @override
  void initState() {
    _reminder = widget.reminder; // <-- Create a copy of object
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      onPressed: () {
        _reminder.dueDate = DateTime.now(); // <-- Both objects being updated here... Why?
      },
    );
  }
}


