Added most of missing exceptions.
Rewrote __get() magic method for the Puffer class, now it can call callbacks too.
Added a new magic attribute "profiles" in Puffer, returns "new Profiles" object.
Renamed setData() method to populate() in Profile and Update classes. It's more human friendly :)
Some minor code formatting.
Profile class now has "sent" and "pending" magic attributes, which return sent() and pending() methods accordingly.
Added some more exceptions.
Improved offsetSet() method in Profiles and Update classes.
Fixing formatting.
Fixed an exception message.
Improved constructor of a Profile class.
Added checking of a profile ID on MongoDB ObjectID pattern.
Separated RegExp patterns as a class constants.
Improved offsetSet() method in Profile class.
Minor modifications in exception messages.
Improved a constructor of Update class.
Added checking of an update ID on a RegExp pattern (MongoDB ObjectID).
populate() method in the Update class now accepts an empty array as an input.
Rewrote __get() magic method of a Puffer class.
Minor code formatting.
Separated a RegExp matching stuff in the new matches() method in the Core class.
Improved matching of cases in the switch statements (Profile and Update classes).
Minor syntax changes.