http://mbed.org/users/AjK/code/FPointer/#56e309e76c19