LPS-31462 Messaging infrastructure try #100

Hey Mike,

I've realized that the SMDHInvocationHandler might send out multiple messages for the same entity because we are not checking if has been processed or not. So I went ahead and refactored the code a little to return when we have already process that entity (this is the isPathProcessed kind of thing). This change is independent from Zsolt's counting the models changes.

I guess we could go ahead to a different direction as well - to put all these code to the base class instead of having an invocation handler, but I'd prefer this invocation handler / advice approach, I think it's better to keep these cross cutting concern codes separated, lateer on I think it might provide better flexibility.

Thanks,

Máté