Fix a typo.
Restructure code, enums in separate header.
Rewrite barriers, barriers can no longer fade.