A short while ago I've come across one post which I think you can find interesting. Somebody will take a steaming dump all over it, however it clarified some of my questions. 
http://www.abdetik.com/index.php/2017/02/06/using-the-net-creating-providers-ease-precision/