Make proper components inheritance

Events now stacked in inheritance
As well as states
Events are extended, not overridden: you have to explicitly prevent
super event, not to call it. So by default all events are called