Refactoring AutoAck to be object based, and use a plugin system.