922 - fill starts off as right color before transition

Massive refactor of animator as well as some edge case fixing
Also a precommit for #918

Close #922.
just consider if these could be private attrs that are set inside constructor rather than public functions