Final class diagram and design pattern