diff --git a/lib/disposable/twin/collection.rb b/lib/disposable/twin/collection.rb
index <HASH>..<HASH> 100644
--- a/lib/disposable/twin/collection.rb
+++ b/lib/disposable/twin/collection.rb
@@ -17,6 +17,10 @@ module Disposable
         super(@twinner.(model))
       end
 
+      def for_model(model) # FIXME: will probably vanish, soon.
+        @twinner.(model)
+      end
+
       # Remove an item from a collection. This will not destroy the model.
       def delete(model)
         super(find { |twin| twin.send(:model) == model })
diff --git a/test/twin/external_representer_test.rb b/test/twin/external_representer_test.rb
index <HASH>..<HASH> 100644
--- a/test/twin/external_representer_test.rb
+++ b/test/twin/external_representer_test.rb
@@ -57,7 +57,7 @@ class ExternalRepresenterOnTwinTest < MiniTest::Spec
             instance: lambda { |fragment, index, options|
               collection = options.binding.get
 
-              (item = collection[index]) ? item : Twin::Song.new(Model::Song.new) },
+              (item = collection[index]) ? item : collection.for_model(Model::Song.new) },
             setter: lambda { |collection, *| songs.replace collection } do
        include AllowSymbols
       property :id
introducing Collection#for_model as a twin builder for parse strategies.