Refactored Transaction management and element validity checking into separate RevitServices library