Simplify mapping by using doAction()
Use function construction