Advanced Plugin Development Question

I have the following code for a plugin that I am developing:

module ClassMethods         def my_method(child_table)

          child = child_table.to_s;           c = child.pluralize

          has_and_belongs_to_many c.to_sym,                                   :class_name => self.name,                                   :join_table => c.to_s + '_' + self.name.pluralize,                                   :association_foreign_key => child + "_id",                                   :foreign_key => self.name + "_id",                                   :after_add => :create_bidirectional_link,                                   :after_remove => :remove_bidirectional_link

          class_eval do

            define_method("create_bidirectional_link(child)") do               child.c << self unless child.c.include?(self)             end

            define_method("remove_bidirectional_link(child)") do               child.c.delete(self) rescue nil             end           end

        end

When I run the code I get the following error message when I use my_method in the Person model class:

NoMethodError: undefined method `create_bidirectional_link' for #<Person:0x31dd71c>

How do I inject the create and remove methods to the ActiveRecord class? TIA.