diff --git a/yaks/lib/yaks/attributes.rb b/yaks/lib/yaks/attributes.rb
index <HASH>..<HASH> 100644
--- a/yaks/lib/yaks/attributes.rb
+++ b/yaks/lib/yaks/attributes.rb
@@ -24,12 +24,6 @@ module Yaks
 
         alias with update
 
-        this.names.each do |attr|
-          define_method "with_#{attr}" do |value|
-            with(attr => value)
-          end
-        end
-
         define_singleton_method(:attributes) { this }
       end
     end
diff --git a/yaks/spec/unit/yaks/attributes_spec.rb b/yaks/spec/unit/yaks/attributes_spec.rb
index <HASH>..<HASH> 100644
--- a/yaks/spec/unit/yaks/attributes_spec.rb
+++ b/yaks/spec/unit/yaks/attributes_spec.rb
@@ -168,7 +168,7 @@ WidgetContainer.new(
 
   describe '#initialize' do
     it 'should take hash-based args' do
-      expect(widget_container.new(widgets: [:bar])).to eql widget_container.new.with_widgets([:bar])
+      expect(widget_container.new(widgets: [:bar])).to eql widget_container.new.with(widgets: [:bar])
     end
 
     it 'should use defaults when available' do
Drop the automatic generation of with_* methods

Including Attributes.new(:foo) would generate a #with_foo method. This
behavior was not used, and can be written just as concisely as with(foo:
..), so it was dropped.