PHP preg_match_all: Extrae una lista separada por comas

Tengo, por ejemplo, la siguiente cadena:

<code>{WIDGET_TEST('abc','456')}
</code>

Me gustaría poder usar preg_match_all para devolver una matriz de los argumentos separados por comas.

¿Puede alguien ayudarme con la expresión regular que necesito?

Lo he intentado y la siguiente consulta vuelve.(a,b):

<code>preg_match_all('/\([a-zA-Z0-9\',]+\)/', '{WIDGET_TEST(a,b)}', $arguments);
</code>

¿Pero me quedo luchando para obtener este resultado como una matriz, y se rompe la expresión regular cuando introduzco los apóstrofes?

EDITAR utilizando lo siguiente:

<code>preg_match_all('/(\'[a-zA-Z0-9,]+\')/', '{WIDGET_TEST('variable1','b')}', $arguments);
</code>

Yo obtengo:

<code>array
  0 => 
    array
      0 => string ''variable1'' (length=11)
      1 => string ''b'' (length=3)
  1 => 
    array
      0 => string ''variable1'' (length=11)
      1 => string ''b'' (length=3)
</code>

Así que créeme que estoy en parte ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta