Consistency with return values

Hi,
Just started looking at this library and noticed chaining is inconsistently applied with the return values. For example if I do (this contrived example)

tr.pause().resume().pause();
this will work

if i do
tr.pause().pause().resume() 
this will not work