I'm trying to register a component system with AngelScript for my engine right now I have a C++ component that wraps an AngelScript object. It basically just calls the matching methods on the AngelScript object whenever the function is called in C++, so when the C++ update() method gets called the AngelScript object instance's update() method is called as well. What I want is for all the components to derive from a base component class that contains a reference to the owner game object. On the C++ side i have an IComponent interface. If I register the IComponent interface as a reference type is there any way to register my C++ IComponent implementations as being derived from the AngelScript component base class?