All the decisions being made in the function are out of scope of camera hardware.