Is your feature request related to a problem? Please describe.
The class TemporalGoal hard-codes the behaviour of reward shaping, that can be controlled by the flag reward_shaping passed in the constructor.
Describe the solution you'd like
Make the approach more modular and customizable by introducing the RewardShaper class, such that it makes it easier for a developer to change the default behaviour.
Describe alternatives you've considered
None.
Additional context
None.