c# core: cg subscribe method refactor