Reduce enum class' names

Thanks to new scoping
Add virtual assignment operator to State
Merge branch 'abstract' of https://github.com/OSSIA/API into abstract
Merge branch 'abstract' of https://github.com/OSSIA/API into abstract