Component/Container: limiting the arguments to #decorate

`decorate` is used to construct and bind to the instances that Container
contains. The map operation happens to give decorate multiple arguments
that is then given into the `Controller` constructors, leading to weird
behavior.

Fixes #48