Strategy pattern interface