add error propagate tests
refactor error handling in composite
add catch handler
switch to es6-compatile Promise interface
rename internal names with _ prefix
add resolve and reject statics