message = $message; $this->options = $options; } public function setOptions(array $options) { $this->options = $options; return $this; } public function setOption($name, $value) { $this->options[$name] = $value; return $this; } public function getOptions() { return $this->options; } public function getOption($name, $defaultValue = null) { if (array_key_exists($name, $this->options)) { return $this->options[$name]; } return null; } public function getMessage() { return $this->message; } abstract public function getTemplate(); }