Added unique animation check, to allow calling fadeIn/Out multiple times at once safely
More effeciency improvements and hooks in components api
Assume timers are inaccurate, because most are by 10ms