Move FlexibleCommandBinder to be shared