A system comprising: a lean-bum spark ignition engine; an electronic controller comprising: a first condition level determining means (138, 133) for determining a first condition level; a second condition level determining means (133, 138) for determining a second condition level; a first feedback controller (130, 132) configured to determine a first difference between a first target condition level and the first condition level and to determine, based at least in part on the first difference, a first adjusted spark timing value; a second feedback controller (132,130) configured to determine a second difference between a second target condition level and the second condition level and to determine, based at least in part on the second difference, a second adjusted spark timing value; a moderator module configured to adjust a spark timing event in one or more cylinders of an engine based on the first adjusted spark timing value and the second adjusted spark timing value; the system being characterised in that it further comprises: a spark-timing controller configured to determine a third difference between a target spark timing value and the moderator adjusted spark timing value after adjustment of the spark timing value to the moderator adjusted spark timing value, and to determine an adjusted air-to-fuel ratio based on the third difference; and a charge flow controller adapted to adjust the air-to-fuel mixture and the spark timing based on the moderator adjusted spark timing value and the adjusted air-to-fuel ratio. a lean-bum spark ignition engine; an electronic controller comprising: a first condition level determining means (138, 133) for determining a first condition level; a second condition level determining means (133, 138) for determining a second condition level; a first feedback controller (130, 132) configured to determine a first difference between a first target condition level and the first condition level and to determine, based at least in part on the first difference, a first adjusted spark timing value; a second feedback controller (132,130) configured to determine a second difference between a second target condition level and the second condition level and to determine, based at least in part on the second difference, a second adjusted spark timing value; a moderator module configured to adjust a spark timing event in one or more cylinders of an engine based on the first adjusted spark timing value and the second adjusted spark timing value; the system being characterised in that it further comprises: a spark-timing controller configured to determine a third difference between a target spark timing value and the moderator adjusted spark timing value after adjustment of the spark timing value to the moderator adjusted spark timing value, and to determine an adjusted air-to-fuel ratio based on the third difference; and a charge flow controller adapted to adjust the air-to-fuel mixture and the spark timing based on the moderator adjusted spark timing value and the adjusted air-to-fuel ratio. a first condition level determining means (138, 133) for determining a first condition level; a second condition level determining means (133, 138) for determining a second condition level; a first feedback controller (130, 132) configured to determine a first difference between a first target condition level and the first condition level and to determine, based at least in part on the first difference, a first adjusted spark timing value; a second feedback controller (132,130) configured to determine a second difference between a second target condition level and the second condition level and to determine, based at least in part on the second difference, a second adjusted spark timing value; a moderator module configured to adjust a spark timing event in one or more cylinders of an engine based on the first adjusted spark timing value and the second adjusted spark timing value; the system being characterised in that it further comprises: a spark-timing controller configured to determine a third difference between a target spark timing value and the moderator adjusted spark timing value after adjustment of the spark timing value to the moderator adjusted spark timing value, and to determine an adjusted air-to-fuel ratio based on the third difference; and a charge flow controller adapted to adjust the air-to-fuel mixture and the spark timing based on the moderator adjusted spark timing value and the adjusted air-to-fuel ratio. a spark-timing controller configured to determine a third difference between a target spark timing value and the moderator adjusted spark timing value after adjustment of the spark timing value to the moderator adjusted spark timing value, and to determine an adjusted air-to-fuel ratio based on the third difference; and a charge flow controller adapted to adjust the air-to-fuel mixture and the spark timing based on the moderator adjusted spark timing value and the adjusted air-to-fuel ratio.