- Finished Stategy pattern