Contains implementations for several fundamental Reinforcement Learning algorithms in an extendable OOP framework. Users can solve their own custom gridworld type problems can be solved using these methods. Contains several examples such as navigating along a racetrack, moving along a windy path, moving around obstacles, solving a maze, etc.