This is what bugs me about state machines (like https://github.com/pluginaweek/state_machine).
Adding a history or audit always seems like a giant hack.
Adding a history or audit always seems like a giant hack.
Actually someone else just pointed me in the direction of Event Sourcing - every pattern has a name somewhere - http://martinfowler.com/eaaDev/EventSourcing.html