add possible object attachment to timeouts
introduce jsr @Nullable annotation
move optional parameters to the end of method
key may be null
prepare version 0.4
start next version