based on Chris Sanity github and video
In order to create animation the following steps happen
- CSS is set on a div or element is set to a start state i.e. opacity 0
- timer is set to run and fire an event after a period of x miliseconds (say 400)
- the event sets the CSS on the div or element to a complate state i.e. opacity 100
- the timer is then disposed