support lazy argument evaluation for private_key attribute