Added base types for events, rename base_class in abstract
apply base types on descriptor, value, event and handler