Restructured internal design according to review:
http://codereview.stackexchange.com/questions/38145/