@@ -0,0 +1,18 @@
+require 'asciidoctor'
+require 'asciidoctor/extensions'
+
+nestableGroup = proc do
+  block do
+    named :nestable
+    contexts :example, :paragraph
+    positional_attributes 'role'
+
+    process do |parent, reader, attributes|
+      create_open_block parent, reader.read_lines, attributes
+    end
+  end
+end
+
+# Self registering code
+# For maximum flexibility put this in a different file.
+Asciidoctor::Extensions.register nestableGroup
Please use the more direct approach of defining the proc as a block directly on the call to `Asciidoctor::Extensions.register`. The indirection here is unnecessary and confusing.