Behavioral design pattern - Command pattern implementation.