How can I track the changes/activities performed on an asset?

How can I track the changes/activities performed on an asset?

The History widget tracks almost all the major activities carried on an asset such as like assign/remove asset from category, ingest, download (using download manager), fully purge, archive/restore/partial restore, add/delete/update tag, approve/reject etc.