some refactoring around deliveryType and channels