Should support iteartor for different outputs (rgba, hsv, etc) and if possible also for different crates.