Rewrite DNAdrivenIFS in a more object-oriented fashion