Issue #2283929 by tim.plunkett: Clean up condition plugins to have schema support and to allow them to be optional.