Fix meta method constructors
[gitmo/Mouse.git] / lib / Mouse / Meta / Method.pm
index dab9592..9ba243e 100755 (executable)
@@ -13,11 +13,13 @@ sub wrap{
 }
 
 sub _new{
-    my $class = shift;
-    return $class->meta->new_object(@_)
-        if $class ne __PACKAGE__;
+    my($class, %args) = @_;
+    my $self = bless \%args, $class;
 
-    return bless {@_}, $class;
+    if($class ne __PACKAGE__){
+        $self->meta->_initialize_object($self, \%args);
+    }
+    return $self;
 }
 
 sub body                 { $_[0]->{body}    }