Added copy/move operators and constructors for type-safety.