Recursion limiter rewriten. Should fix all recursion issues in a clean and simple way