could producer be made a non-static member? It would make this class easier to reason about.