protected function accessPropertyByKey($key)
    {
        try {
            return $this->{'get' . ucwords($key)}();
        } catch (BadMethodCallException $e) {
            throw new \RuntimeException('The ' . $key . ' parameter must have a defined get' . ucwords($key) . ' method.');
        }
    }