make fields final, use CompositeSubscription, unlock in finally clauses