Shortcodes won’t work on live environment

So this turned out to be the problem:

After running using WP_DEBUG on the live site it turned out $this was not defined in the following line:

public function __construct(){
    add_action('init', function(){
        add_shortcode('bbit', array($this, 'shortcode_handler'));
    });
}

shortcode_handler is a non-static function here, and this code was all called in a static context. It seems there are some differences in my local XAMPP configuration and the servers configuration. I fixed it by removing the old code and adding the following code outside of the class:

add_action('init', function(){
    add_shortcode('bbit', array('BBIT_ShortCode', 'shortcode_handler'));
});

After that I just needed to make the shortcode_handler method static and there was a fix.