Что-то у тебя делегат слишком богат логикой, хм.

Хотя, может, конкретно в твоем случае это и норм.