def execute_handler params={},path=nil
     case @type
     when :handlers
       @handlers.each do |handler_ident|
         handler = @context_ref.handlers.fetch(handler_ident) {raise "handler #{handler_ident} doesn't exist in context #{@context_ref.ref}"}
         component = handler.(params,path||@url,&:call)
         Context.current_context = @context_ref.ref
         if component.class == Proc
           component.call
         else
           Context.renderer.call(component,handler_ident)
         end
         Context.current_context = :no_context
       end
     when :context
       Context.wipe
       Context.render handlers
       History.push(@context_ref.ref,"",[],@context_ref.ref)
     end
    end
def execute_handler params={},path=nil
     case @type
     when :handlers
       @handlers.each do |handler_ident|
         handler = @context_ref.handlers.fetch(handler_ident) {raise "handler #{handler_ident} doesn't exist in context #{@context_ref.ref}"}
         component = handler.(params,path||@url,&:call)
         Context.current_context = @context_ref.ref
         if component.class == Proc
           component.call
         else
           Context.renderer.call(component,handler_ident)
         end
         Context.current_context = :no_context
       end
     when :context
       Context.wipe
       Context.render handlers
       History.push(@context_ref.ref,"",[],@context_ref.ref)
     end
    end
execute's route's associated handlers

 @param [Symbol => String] params from the route with there respective keys
 @param [String] path containing params placed into there respective named positions