def public_method(method_name, *required_contexts, direction: default_direction)
      public_trigger(*required_contexts, direction: direction).method(method_name)
    end
def public_method(method_name, *required_contexts, direction: default_direction)
      public_trigger(*required_contexts, direction: direction).method(method_name)
    end
Gets the method object taken from the context that can respond to it.
 Considers only public methods.

 @param method_name [Symbol,String] A name of required method.
 @param required_contexts [Array<Object>]
   A set of objects that should be used as the main context series for method resolving
   algorithm.
 @param direction [Array<Symbol>]
   An array of symbols that represents the direction of contexts.
 @return [Method]

 @see Symbiont::PublicTrigger
 @see Symbiont::Trigger#method

 @api public
 @since 0.3.0