C++11 way of defining NonAssignable NonCopyable
Uses the new semantic with deleted default constructor and operator