implement passback idea
Merge pull request #6 from Raynos/to-array

Adding passback for switching from reducible to callbacks.
Cleanup implementation and make code style
consistent.
Version 1.1.0
do not depend on reducible