Splitting user/global/channel factory functions into files