Split client out into a policy module and client core.  This is a major alteration