Fix for events without args + add visibility to events
Support an `(optional)` syntax