How to create an audit function in deluge

How to create an audit function in deluge

Hi there. to be able to report on the changes in a leads status, I want to create an audit module, and push data into it every time the lead status field changes.

I'd like to store:
* Lead ID
* Old Status
* New Status
* Person who made the change
* the date the change was made

I'm moderately comfortable in Deluge (but no expert!). I was thinking of creating a workflow on field update of the lead status field, but can't work out how to get the old field value in deluge. I am sure I'm missing something obvious.

Cheers, and thanks for your help
Jo.