Added T4 Template for auto converting original source code; refactored some classes (single responsibility); added some unit tests
Merge commit '6ee8c0471ec8e8689ab892211f16239019fd3b0f'