Added example for AMD implementation, I noticed that AMD requires that a new instance is returned via the `new` keyword, this is different to window spec