do not export some constructors that shouldn't be
Renamed CStateComponent to StateComponent because it's a safe haskell-ish type
Renamed CDirection to Direction because it's a safe haskell-ish type