save() and delete() uses caller's credentials to init openstackdriver client
diff --git a/plstackapi/core/models/key.py b/plstackapi/core/models/key.py
index 9d4b139..3e4f56f 100644
--- a/plstackapi/core/models/key.py
+++ b/plstackapi/core/models/key.py
@@ -2,7 +2,6 @@
 from django.db import models
 from plstackapi.core.models import PlCoreBase
 from plstackapi.core.models import PLUser
-from plstackapi.openstack.driver import OpenStackDriver
 
 # Create your models here.
 
@@ -17,17 +16,15 @@
     def __unicode__(self):  return u'%s' % (self.name)
 
     def save(self, *args, **kwds):
-        driver = OpenStackDriver()
         if not self.key_id:
             key_fields = {'name': self.name,
                           'key': self.key}
-            nova_key = driver.create_keypair(**key_fields)
+            nova_key = self.driver.create_keypair(**key_fields)
             self.key_id = nova_key.id
         super(Key, self).save(*args, **kwds)
 
     def delete(self, *args, **kwds):
-        driver  = OpenStackDriver()
         if self.key_id:
-            driver.delete_keypair(self.key_id)
+            self.driver.delete_keypair(self.key_id)
         super(Key, self).delete(*args, **kwds)