starting on iterator pattern to replace mediator attempt. This will serve as my second Behavioral Design Pattern