Rename header files and refactor state_traits
Add state and cost to binders.
Add conditional binder support.