Return new static instance instead of Collection
Return Collection instance instead of array in flatten method
Change  to ->items array in fetch method