def update_on_instance_created(clazz, on_instance_created)
      return unless on_instance_created
      clazz.instance_eval do
        def instance_hooks
          hooks = (self.ancestors + [self]).map do |target|
            target.instance_variable_get(:@instance_hooks)
          end

          hooks.flatten!
          hooks.compact!
          hooks.uniq!
          hooks
        end

        @instance_hooks ||= []
        @instance_hooks << on_instance_created
      end
    end
def update_on_instance_created(clazz, on_instance_created)
      return unless on_instance_created
      clazz.instance_eval do
        def instance_hooks
          hooks = (self.ancestors + [self]).map do |target|
            target.instance_variable_get(:@instance_hooks)
          end

          hooks.flatten!
          hooks.compact!
          hooks.uniq!
          hooks
        end

        @instance_hooks ||= []
        @instance_hooks << on_instance_created
      end
    end
This hook allows other tracing in Hometown to get a whack at an object
 after it's been created without forcing them to patch new themselves