Practical python design patterns pythonic solutions to common problems - Badenhorst, Wessel M. (Apress, 2017)