Refactoring Guru: Strategy

Info

Strategy is a behavioral design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

TODO: kkrpc serialization strategy (standard vs superjson)