I've tried using ansible-role several times:
but I felt it's too much abstraction. So, I separated from ansible-role and just include task files from main playbook, which is easier/simpler enough for my small scale use case.
Recently, however, I found myself copy-and-pasting my own script from one project to another and getting sick of it. So, this is a good time to come back ansible-role and, further more, make it available from ansible-galaxy.
I chose docker installation as my first target since I've made such tasks before
I made it!