Code formating and ordering =========================== + The source file will keep and order of methods. The order will be as following: 1. Private functions will go first. 2. class_init and init will go second. 3. vfuncs implementations will go third. 4. Public API will go fourth + Methods naming will be according to: 1. Private methods will have no prefix 2. vfuncs and public API will have the right prefix + The methods prototype will always be placed at the top of the source, in the same order as their implementation below.