Allow $model->visible to declare custom accessors

Redo of #1530