rework animation system to be triggered by events dispatched from . This is mostly better