Towards a Flexible Embedding Learning Framework