Is there a way for a macro to check the previous value of #1, the last time that same macro was called?

Here is a minimum working example, pretending that `\previousvalue` is equal to #1 from the last time the same macro was called:

    \define[1]\mymacro{
        \if\previousvalue=#1
        same as last time
    \else
        it is different from last time
    \fi
    }

\starttext

    \mymacro{cat}
    \mymacro{cat}
    \mymacro{mouse}
    \mymacro{mouse}
    \mymacro{cat}

\stoptext

This would print:

    it is different from last time <--it was never called previously
    same as last time
    it is different from last time
    same as last time
    it is different from last time

--Joel