def define_methods_for_advice_blocks
      advices.each do |advice|
        next if advice.raw?
        next unless advice.advice_block
        context.send :define_method, advice.with_method, advice.advice_block
        context.send :private, advice.with_method
      end
    end
def define_methods_for_advice_blocks
      advices.each do |advice|
        next if advice.raw?
        next unless advice.advice_block
        context.send :define_method, advice.with_method, advice.advice_block
        context.send :private, advice.with_method
      end
    end
Defines on a target element new methods that will contain advices logic
 as long as their blocks. Then we can invoke advices logic as a normal methods
 In a way it just casts a block to methods for peformance reasons
 If we have advices that just execute already existing methods, this won't create
 anything
 @note All methods like this are set to private - they should stay as an internal
   implementation detail