@@ -0,0 +1,980 @@
+//@@author A0141052Y%0Apackage seedu.task.model.history;%0A%0A/**%0A * Represents an object state change.%0A * @author Syed Abdullah%0A *%0A * @param %3CT%3E the object's Class%0A */%0Apublic class Mutation%3CT%3E %7B%0A    %0A    final private T previousState;%0A    final private T presentState;%0A    %0A    /**%0A     * Constructs a Mutation.%0A     * %0A     * @param previousState the state of the instance before mutation%0A     * @param presentState the state of the instance after mutation%0A     */%0A    public Mutation(T previousState, T presentState) %7B%0A        this.previousState = previousState;%0A        this.presentState = presentState;%0A    %7D%0A    %0A    /**%0A     * Get the state before mutation%0A     * @return state of object before mutation took place%0A     */%0A    public T getPreviousState() %7B%0A        return previousState;%0A    %7D%0A    %0A    /**%0A     * Get the state before mutation%0A     * @return state of object before mutation took place%0A     */%0A    public T getPresentState() %7B%0A        return presentState;%0A    %7D%0A%7D%0A

Add Mutation class to hold individual state changes for history