Small program combining strategy, factory, decorator, and observer design patterns to make an profile achievement tracker