shared_ptr<Puzzle>
shared_ptr -> PPuzzle
shared_ptr PPossibilities + wydzielenie Field.hpp/cpp