Optimise destroy method on Group and State

Re Github issue #88

No bugs could be replicated in state transition, but while investigating we decided to clean up the process anyway.