Update block_abstract with new magic method handling