Add description and shell as dependnecy.
Use the real position from shell module.
Add factory tests.
Allow null position.
Fix license header.
Add tests for base token.