Update plugin to use extensions instead of metaclass