Using "Command" design pattern to manage animation (UIView animation and CAAnimation) in IOS