Flexible Tool Support For Software Product Lines