Add value setter and events
Return promise on transitions
Fix setter bugs
Add Promise.inject to inject then() into other objects
add missed event option
Add once() to Base