public static function create($style, $tweet = null, $url = null, $username = null, $picture = null)
    {
        if ( ! in_array($style, static::$styles)) {
            throw new InvalidArgumentException("Button style [{$style}] not supported.");
        }

        $anchor = '<a href="http://bufferapp.com/add" class="buffer-add-button" data-count="' . $style . '"';

        if ( ! is_null($tweet)) {
            $anchor .= ' data-text="' . htmlspecialchars($tweet) . '"';
        }

        if ( ! is_null($url)) {
            $anchor .= ' data-url="' . urlencode($url) . '"';
        }

        if ( ! is_null($username)) {
            $anchor .= ' data-via="' . htmlspecialchars($username) . '"';
        }

        if ( ! is_null($picture)) {
            $anchor .= ' data-picture="' . urlencode($picture) . '"';
        }

        $anchor .= '>Buffer</a>';

        $script = '<script type="text/javascript" src="//static.bufferapp.com/js/button.js"></script>';

        return $anchor.$script;
    }