Implemented a dataSource protocol to use custom literals

Dear Mr Payan, with the use of a dataSource protocol, users could use their own literals easily with just the creation of a separate dataSource implementation. I also implemented a DefaultDataSource so the behaviour is the same as on the master.

Could you review this and consider this pull request. That way, we can still use the pod file in future.

King regards,

Bram