How to use EditorApplication.playmodeStateChanged?

I’m trying to create a test-mode for my scenes, so I want
to insert a few things into the scene automatically just
after activating play mode. The first thing I need to do
is to be able to respond to playmode state changes. This
is my first attempt.

import UnityEngine
import UnityEditor

[InitializeOnLoad]
class Tester (object):

    static def constructor():
        EditorApplication.playmodeStateChanged = System.Delegate.Combine(
            PlayStateChanged,
            EditorApplication.playmodeStateChanged)

    static def PlayStateChanged():
        Debug.Log("playmodeStateChanged")

And the result:

System.ArgumentException: Incompatible Delegate Types.
  at System.Delegate.Combine (System.Delegate a, System.Delegate b) [0x00000] in <filename unknown>:0 
  at Tester..cctor () [0x00000] in C:\Documents and Settings\Mayke\...\Tester.boo:8 
UnityEngine.SetupCoroutine:InvokeStatic(Type, String, Object)

I found some information at:

Well, i don’t know much about boo syntax and in general there are only a few people using it ;). However have you tried the += operator? If += doesn’t work in boo i guess you have a casting problem. You should first create a new delegate out of your function.

You have to pass in a delegate of this type: EditorApplication.CallbackFunction. As you can see in your 3. link the example uses a delegate variable and not the function name.