Set delegate to be weak
Further tweaks for customisability