core: consolidate some common interfaces into core/interfaces.go