Refactor Proto_Constructor