Don't use convinence functions then retain them: use alloc-init.
Use [[CALayer alloc] init] instead of [[CALayer layer] retain].