* Extract dynamic channel creation to separate classes. * Avoid double list allocations. * Add test coverage for scenarios with no channels built. * Extract common builder stuff to super class. * Fix grammar. * Reduce constructor access modifiers. * Removed unneeded this keyword for protected method. * Fix null annotation issues. Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>