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