Major refactor of gem structure; Dramatically more object-oriented now