Added interfaces for setting assets for the components.
Refactoring userdata.
Added a collection of properties for physics.
Cache id of a component.
Refactoring.
Adhere to the interface.