Finally using \/ instead of Option to handle errors.
Disjunction types to handle errors.
iBehaviour is renamed 'StateTransition' and it now returns a value.
Command as a StateTransition.