1. One or more computer-storage media having computer-useable instructions embodied thereon for performing a method for extending a native data type from a core application with a custom data type and one or more custom actions from a module, the method comprising: obtaining metadata from the module, the metadata including the custom data type, the one or more custom actions, and one or more pointers to code in the module corresponding with the one or more custom actions; generating a dynamic table using the metadata, the dynamic table including one or more entries corresponding with the one or more custom actions; creating an instance of the native data type; tagging the instance of the native data type with an identifier for the custom data type; enabling the one or more custom actions for the instance of the native data type; receiving a selection of one of the one or more custom actions; accessing a pointer in the dynamic table, the pointer corresponding with the selected custom action; calling code in the module corresponding with the pointer; and running the code in the module to perform the selected custom action.