added delegation protocol, added example delegate method, implemented optional delegate notification