As part of the last event dispatcher component refactor of #236, the AED::EventListenerInterface interface was essentially left as a marker, not really being used to type any collections or abstract methods. Because of this, it could be a nice win to just get rid of it entirely, instead leaning on the AEDA::AsEventListener annotated methods instead. This'll mean one less thing the user needs to remember to do, leading to a better DX.
Dev Notes
Some event dispatcher methods would need to be made into _ or free var type restrictions
Basically saying "I accept any obj that has at least one method annotated with AEDA::AsEventListener", erroring if there are none.
Auto configuration on this type will need to be re-implemented too
With #337, can probably do this within the bundle extension :muscle:
As part of the last event dispatcher component refactor of #236, the
AED::EventListenerInterface
interface was essentially left as a marker, not really being used to type any collections or abstract methods. Because of this, it could be a nice win to just get rid of it entirely, instead leaning on theAEDA::AsEventListener
annotated methods instead. This'll mean one less thing the user needs to remember to do, leading to a better DX.Dev Notes
_
or free var type restrictionsAEDA::AsEventListener
", erroring if there are none.