You may be interested in this conversation - https://twitter.com/joatski/status/847569061567508481
personally I gave up on complex OO with my blueprints, I had to redo changes so many times. Now I do a data driven composition model, I.e. i have data tables that tell my objects how to assemble themselves.