SOLID design example