Currently getting used to working with boost and trying to understand different design patterns in C++.