Strategy factory and decorator