getTheme($themeName); if (empty($theme)) { return null; } $xml = $this->getXmlFromTheme($theme); if (empty($xml)) { return null; } return $this->extractAttributes($xml); } function caller() { $attributes = $this->getAttributesFromTheme('mytheme'); } function getAttributesFromTheme(string $themeName) { return Pipe::make( $this->getTheme(...), $this->getXmlFromTheme(...), $this->extractAttributes(...) ) ->stopIfEmpty() ->from($themeName); } function caller() { $attributes = $this->getAttributesFromTheme('mytheme')->run(); }