ther than the 'solid' behaviour, I want to do this using events only.
Than the solid behavior is useless. By design it is supposed to interact with object having behaviors like 8direction, car or even platformer behavior.
Since you are already determining when you have a collision in event, then "bypass" your movement at this moment.
This depends on how you have implemented the moving of the object. Without a capx, hard to figure/answer.