Factored out the MetaObject protocol Interface, added Array back in and fixed dictionary bug.