Added support for overloading and deducing via Data::Object