Add strategy pattern; Update flyweight comment.