ERC721 Licensing?

Hello,

I am working on a project where I want to allow users to license artwork. After licensing they are able to use the artwork as they please however the original creator still retains ownership of it.

Is this something that can/should be accomplished with an ERC721 contract?

My current approach is holding a list of "licensee" addresses in a mapping.

mapping(uint256 => address[]) idToLicensees

I have also played around with the idea of using an ERC20 contract for each individual piece of art and owning a token would be equivalent to a license. However I believe my solution above is more effective and cost efficient.

Just wanted to get some feedback on this... And if you know of any projects working on something like this let me know.

Thanks!

Jake