Add Strategy pattern implementation