/** * Initializes an Evangelist, sets the username through the APIClient and also defines values for the user. * * @param string $username username of Repo to fetch * @param APIClient APIClient $api_client interface for APIClient to interact with */ public function __construct($username, APIClient $api_client) { $this->username = $username; //Set the username $api_client->setUsername($username); //Pass api_client instance to local property $this->api_client = $api_client; //define the value/level of the user with username above $this->defineValue(); }