create funtional wrappers around functions that will take control and limit the amount of how often an enclosed function is able to be called/invoked.