Animation second refactor (without bugs)