Animation class completely refactored