delegate protocol defined, some refactoring, cells tapped resulting in animation and delegate callback