core: split info/infolist callbacks