Toying with delegate and coroutine implementation