Create events slots package with base slot
Added Conditional and conditions to Slot
Modify propagate and add variants with result and args change
Replace package slots by package events
set private method protected and refactor a test
Added Observable attributes and refactor