hmm, you might need to connect before the default handler if you didn't already, to intercept the state, then return false so it can carry on doing what it normally does.
I should clarify that I didn't really think about whether that's the right way to do it... but if you can make it work, it seems simplest.
Deriving and overriding the default handler vfunc could achieve the same thing since obviously you replace the base one and then can choose to chain up after your added stuff, or even replace it altogether. It may or may not be worth the hassle though.