Add enumerize predicates and fix some things more
add ability with cancan and state with state_machine