relay: split up DCC stuff into public API and internal implementations