Money Blueprint/Interfaces

I have some doubt to uses these library too much deeper, unless there are guarantee of its implementation. These pull request is to provide those guarantee (beside other flexibility advantageous).

I'll push other pull request within `tests` section to increase code-coverage, and can be used to verify whether this refactor breaks current API or not.