I'd suggest perhaps not making it entirely self-contained. If you have many instances of the class then they will all have their own timer. It would be better to have a single object containing a timer, and have it notify all the "flying box" instances when they need to update. Similarly, a single instance of a class that manages all your box instances would prevent your form from needing to know about all of the boxes, but also give you a single place to coordinate the creation/removal of the boxes.