String manipulation is "bad", use an enum for the different modes? Or a bit set?