Used new class protocol definitions to make delegate properties weak.