Base class for all objects which can be extended Adds an extension to the object. Requires the string identifier as well as the python object used to check for overridden functions (most likely self) Returns if this object has the specified extension