Introduced the command pattern as well as a layering command pattern