require 'rubygems'
require 'active_support/core_ext/kernel/singleton_class'
class Post
  def title; 'the title' end
end
class Tracker < Module
  def define_tracker(tracker, references, method)
    define_method(method) do
      tracker.send(:remove_method, method)
      references << [self, method]
      super
    end
  end
end
module Trackers
  class Post < Tracker; end
end
references = []
tracker = Trackers::Post.new
tracker.define_tracker(tracker, references, :title)
post = Post.new
post.singleton_class.send(:include, tracker)
post.title
post.title
p references