Just a very small PR that moves the ownership of the functions that are used by the components up to the Component module. Then, each type of component defines a method dispatch for that same function.
This is important because as we move function calls out of the getproperty, you don't want to have collissions between a bunch of functions with the same names but all defined in different modules.
Now you can call Component.update(x) and Julia's runtime can lookup the appropriate method to call.
Just a very small PR that moves the ownership of the functions that are used by the components up to the Component module. Then, each type of component defines a method dispatch for that same function.
This is important because as we move function calls out of the getproperty, you don't want to have collissions between a bunch of functions with the same names but all defined in different modules.
Now you can call
Component.update(x)
and Julia's runtime can lookup the appropriate method to call.