my toy realisation of Promises/A+ spec