die "invalid args handling '$params->{args}'" unless defined $target_code;
 
       eval "
-        sub $caller::$method {
+        sub ${caller}::$method {
           $pre_context $target_code$method_joiner$target_method$args_string; $post_context
         }
         1;
-      " or die "could not create $caller::$method: $@";
+      " or die "could not create ${caller}::$method: $@";
     }
   }
 }
 
 =head1 DESCRIPTION
 
-Sick of writing getter, setter? No because Rose::Object::MakeMethods got you covered.
+Sick of writing getter, setter? No because Rose::Object::MakeMethods has you covered.
 
-Sick of writing all the rest that Rose an't do? Put it here. Functionality in this
+Sick of writing all the rest that Rose can't do? Put it here. Functionality in this
 mixin is passed as an include parameter, but are still described as functions:
 
 =head1 FUNCTIONS