added powerUpProductionSensor, changed ISensor to AbstractSensor and abstracted stuff to it