# Reducers

# Structure

Each reducer file contains:
* Top level reducers for that section of the state (e.g. channels should
  contain a channels reducer that has all the logic for the channels
  sub-state).
* The type defintion for that sub-state (e.g. channels should contain
  the type definition for ChannelsState).
* Any sub-reducer/types for children of that portion of the state.

The exception to this is the channel file which, for historical reasons, is
the root reducer/composite state. This will hopefully be fixed later.
