Prototype, NonCopyable and NonConstructible cleaned up (when everything will be cleaned up, I'll comment everything, generate a doxygen documentation and make some real unit tests)