Add ejaydj codes

Codes added from my gem: https://github.com/ejaypcanaria/ejaydj for review purpose only.
You mean instead of `Hash`?  I think `Hash` is good enough here as the `attributes` is going to come from the constructor. I don't want the user of the class to be tightly coupled to a certain `Struct`.