Is there something stopping most apps from implementing manipulative algorithms? I thought I wasn't a protocol definition