refactored demo producers to remove redundant code