Migrate to S3Represent

No, that is a misunderstanding. Represents don't do any filtering or authorization - they are called with one or more values, and they *must* return the representations for each of these values (i.e. it can not refuse to represent a value - when it is called for that value, then it must return a representation for it).

representation methods are called by many things - IS_ONE_OF options is only one use-case. Datatables, read forms, pivottable reports, exports in various formats...all these call the represent as well. Some of these call bulk, others call just the represent - and some are lazy (e.g. exports), others require instant response. 

This is not "should be as generic as posssible" - it /has to/ be generic, otherwise it's not valid at all.

I think that this class is not needed - task assignee is a pe_id and we already have a representation method for pe_ids. I think that one can be re-used (it may need some config options, though).

But /if/ you want to continue with a specific class, then pls move the delegation (to the other represents) into lookup_rows, and avoid overriding the standard bulk() method in the subclass.