Peter starts off with a perfectly good solution to a problem but then complicates the problem . . . and ends up moving to a different design pattern. While on that journey he has some best practices ...
Take advantage of the command design pattern to decouple the requester of an action from the object that executes the action Design patterns are proven solutions used to solve common design problems ...