Make CategoryTreeFactory package private, use static method in CategoryTree instead and document it.