#include <functional>
#include <iostream>

class Animation
{
public:
	Animation(std::function<void()>&& onCompleted) : whenCompleted(onCompleted) {}
	std::function<void()> whenCompleted;
	
	void startAnimation() { animationEnded(); }
	void animationEnded() { whenCompleted(); }
};

int main()
{
	Animation score{[](){ std::cout << "all done"; }};
	score.startAnimation();
}