Add styles to panes in Panels module
I managed to create what I was after by using the Plugin Api
I created module with the file structure

mymodule
   -src
      -Plugin
          -Block
           Block.php


In block PHP I used the following 

&lt;?php

/**
 * @file
 * Contains \Drupal\mymodule\Plugin\Block\Basic.
 */

namespace Drupal\mymodule\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;

/**
 *
 * @Block(
 *   id = "basic_text",
 *   admin_label = @Translation("Basic MyModule Block (basic_text)")
 * )
 */

class Basic extends BlockBase {

    /**
     * {@inheritdoc}
     */
    public function defaultConfiguration() {
        return array(
            'mymodule_string' =&gt; $this-&gt;t('Enter text here'),
            );
    }

    /**
     * {@inheritdoc}
     */
    public function blockForm($form, FormStateInterface $form_state){
        $form['mymodule_string_text'] = array(
          '#type' =&gt; 'textarea',
          '#title' =&gt; $this-&gt;t('Block contents'),
          '#description' =&gt; $this-&gt;t('This text will appear in the block.'),
          '#default_value' =&gt; $this-&gt;configuration['mymodule_string'],
        );
        $form['mymodule_style_selected'] = array(
            '#type' =&gt; 'select',
            '#title' =&gt; t('Style'),
            '#options' =&gt; array(
                0 =&gt; t('default'),
                1 =&gt; t('black'),
                2 =&gt; t('white'),
            ),
            '#default_value' =&gt; $this-&gt;configuration['mymodule_style'],
        );
        return $form;
    }
    /**
     * {@inheritdoc}
     */
    public function blockSubmit($form, FormStateInterface $form_state) {
        $this-&gt;configuration['mymodule_string'] 
         = $form_state-&gt;getValue('mymodule_string_text');
    }
    /**
     * {@inheritdoc}
     */
    public function build(){
        return array(
            '#type' =&gt; 'markup',
            '#markup' =&gt; $this-&gt;configuration['mymodule_string'],
        );
    }
}


I haven't implemented the logic handling the style options but I can now place a pane using the IPE and configure the style pane by pane.