refactored responsibilities so that only PS::Api calls the format classes