Memory management
As in the last lecture, we will assume that if you give away a pointer to an object, you also delegate responsibility for deleting that object
Class Sieve will hide memory details from users
So it is sufficient for a Conduit to delete its Source when destroyed