Use the ->possible states and remove the merge_hook().