Should it use the scope_ids.block_type perhaps rather than go through this non-std introspection? I'm worried that any code which tries to manipulate via class_name is missing the mixins.