Use unique_ptr for Extensions

Currently extensions can be set via Extension::Ptr, but they should be unique_ptr!