Added firing strategy and command pattern