Feature/defer setting data

Pass data and input directly to marshal() and serialize() methods and not to the Serializer() constructor.