SPL provides a set of interfaces to enhance iterators, and a pair of interfaces to implement the Observer Design Pattern.