public RemoveSetResult RemoveSet(BookCollection bookCollection) { var books = bookCollection.Clone(); var uniqueBookTitles = ChooseBooks(bookCollection); uniqueBookTitles.Each(books.Remove); return new RemoveSetResult(books, new BookSetFactory().Create(uniqueBookTitles)); }