HttpSession Wrapper Class Are there any aspects I could improve of my HttpSession wrapper class?

Other suggestions are also welcome.

namespace Http;

class HttpSession
{
    private $data;

    public function __construct($name = null, array $iniSettings = [])
    {
        if ($name) {
            session_name($name);
        }

        foreach ($iniSettings as $key =&gt; $value) {
            ini_set($key, $value);
        }
    }

    public function findParameter($name)
    {
        $this-&gt;start();

        return isset($this-&gt;data[$name]) ? $this-&gt;data[$name] : null;
    }

    public function setParameter($name, $value)
    {
        $this-&gt;start();

        $this-&gt;data[$name] = $value;
    }

    public function unsetParameter($name)
    {
        $this-&gt;start();

        unset($this-&gt;data[$name]);
    }

    public function regenerateId($deleteOldSessionFile = true)
    {
        $this-&gt;start();

        session_regenerate_id($deleteOldSessionFile);
    }

    public function destroy()
    {
        $this-&gt;start();

        $this-&gt;data = [];

        if (isset($_COOKIE[session_name()])) {
            $scParams = session_get_cookie_params();

            setcookie(
                session_name(), '', time() - 3600,
                $scParams['path'],
                $scParams['domain'],
                $scParams['secure'],
                isset($scParams['httponly'])
            );
        }

        session_destroy();
    }

    private function start()
    {
        if (isset($this-&gt;data)) {
            return null;
        }

        if (!isset($_SESSION)) {
            session_start();
        }

        $this-&gt;data = &amp;$_SESSION;
    }
}
There are a few things I see:


Work in the constructor - Don't do work in the constructor. Ideally the only things that should be in the constructor are assignments.
DRY - Why are you repeating $this-&gt;start() all over the place?
What's up with that destroy() method? You're doing stuff there other than destroying the session! Why?
Your session_start() should happen once, in the constructor.
It would be more flexible if you passed the $_SESSION array as a parameter in the constructor, rather than relying on globals.