Split generic code (in lib/) from custom code (in src/)
Finished new composition style
Merge pull request #9 from Anbcorp/dev

Code split