public function methods() {
        return $this->cache(__METHOD__, function() {
            return array_unique(array_merge(
                $this->publicMethods(),
                $this->protectedMethods(),
                $this->privateMethods(),
                $this->staticMethods()
            ));
        });
    }