Refactor proposal

The big question is: has the project interest in these changes? Some are not applicable - since are related to the different interface for installing payment engines on [Neighborly](https://github.com/neighborly/neighborly) (Catarse's fork) - and others may be considered just as style changes. But if you're up to it, we can work together cherry-picking and rebasing the reusable parts.