Using blocks instead of delegate.
Should use 'copy' attribute for property.