Once all the data has been completed and at least one screenshot
        created, you can push the app to the review queue status (optional):
        key statuses are

            incomplete: incomplete
            pending: pending
            public: public
            waiting: waiting to be public

        disabled_by_user (optional): True or False

        Valid transitions that users can initiate are:

            waiting to be public to public: occurs when the app has been
                reviewed, but not yet been made public.

            incomplete to pending: call this once your app has been completed
                and it will be added to the Marketplace review queue.
                This can only be called if all the required data is there.
                If not, you'll get an error containing the reason

            disabled_by_user: by changing this value from True to False you
                can enable or disable an app

def app_state(self, app_id, status=None, disabled_by_user=None):
        """Once all the data has been completed and at least one screenshot
        created, you can push the app to the review queue status (optional):
        key statuses are

            incomplete: incomplete
            pending: pending
            public: public
            waiting: waiting to be public

        disabled_by_user (optional): True or False

        Valid transitions that users can initiate are:

            waiting to be public to public: occurs when the app has been
                reviewed, but not yet been made public.

            incomplete to pending: call this once your app has been completed
                and it will be added to the Marketplace review queue.
                This can only be called if all the required data is there.
                If not, you'll get an error containing the reason

            disabled_by_user: by changing this value from True to False you
                can enable or disable an app
        """
        assert status is not None or disabled_by_user is not None
        data = {}
        if status:
            data['status'] = status
        if disabled_by_user:
            data['disabled_by_user'] = disabled_by_user

        return self.conn.fetch('PATCH', self.url('enable') % app_id, data)