An abstract Parent/Child framework for animating in canvas