* Move wave-related classes to wave package
* New interface for events
* Notion of behaviour (state)
* Applicative behaviours (map and applicative application)