Incompatible operator return type in simple empty adding operator
OK, I realized that I made a typo/mistake. In the MarkerAdd operator, in the function execute I've put 

def execute(self, context):
    (....)
    return '{FINISHED}'


which is a string, while it should be a Set:  

def execute(self, context):
    (....)
    return {'FINISHED'} 


Notice apostrophes. That simple mistake caused me to get lost in and I waste hours trying to understand what's wrong. I hope somebody could avoid similar mistake.