Есть один класс, в нем метод DoWork, который берет класс с интерфейсом IBonus, и вызывает у него метод IBonus.doBonus(), интерфейс будут реализововать все класси с логикой бонуса, и когда нужно будет задействовать бонус, нужно будет вызвать DoWork с этим классом