This fixes an issue where state bleed from the parent to the child

@bcamper 
Not sure you feel about this, but we can use Object.create's second argument to centralize these methods and make them seem more object like. I just did the the init method to show what that would look like. 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty