You'd want it configurable to pull profit data for different coins/algos for different sites to differnt slots. Could be messy.
Could be. But luckily modern programming languages make that easy. Some OO pseudo code:
before parsing:
nicehash_parent = nil
westhash_parent = nil
=> These are the object to do the actual pulling work. We don't yet know if we need them.
while parsing:
if cfg.currentslot.provider 'nicehash'
if nicehash_parent == nil
nicehash_parent = new nicehash_main()
slot[cfg.currentslot.slotnumber] = new nicehash_accesss(nicehash_parent, afterthecolon(cfg.currentslot.provider))
done