Reduce number of state changes

Every state change will result in a database update that by default will result in an object history record. Reducing the number of state changes will both reduce the database size and improve performance.