Entity Object System

- inspired component-based entity system from
http://www.raywenderlich.com/24878/introduction-to-component-based-archi
tecture-in-games