moved componentsinfo into components, added generic observer pattern, added rocket distance calculation