https://www.freecodecamp.org/news/how-to-use-the-command-pattern-in-python/