A basic Match-3 game core. Keywords: OOP, SOLID, Dependency Injection, Object Pooling, Factory Pattern, Observer Pattern, Flyweight Pattern