Refactored snake guard so that its logic can be replaced out easily
Refactored snake guard so that its logic can be replaced out easily