Well since this isn't Ruby I have to implement an abstract base class too. Kinda like Drawable. Ruby has it easy for itself as you don't have to take note to the type of the object when calling functions (When you are actually sending a message to the object).
Though If I get a complete system working. I'll be sure to post it at the Wiki, though under what name?