Start refactoring unnecessary logic out of the C-core, starting with Producer