generalize tick behavior and introduce animation controls